mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-26 00:45:58 +00:00
Merge pull request #993 from dbgate/feature/drop-triggers-and-events
Feature/drop triggers and events
This commit is contained in:
@@ -349,7 +349,34 @@
|
||||
case 'functions':
|
||||
return [...defaultDatabaseObjectAppObjectActions['functions']];
|
||||
case 'triggers':
|
||||
return [...defaultDatabaseObjectAppObjectActions['triggers']];
|
||||
return [
|
||||
...defaultDatabaseObjectAppObjectActions['triggers'],
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop trigger',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
{
|
||||
divider: true,
|
||||
},
|
||||
{
|
||||
label: 'SQL generator',
|
||||
submenu: [
|
||||
{
|
||||
label: 'CREATE TRIGGER',
|
||||
sqlGeneratorProps: {
|
||||
createTriggers: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'DROP TRIGGER',
|
||||
sqlGeneratorProps: {
|
||||
dropTriggers: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
case 'collections':
|
||||
return [
|
||||
...defaultDatabaseObjectAppObjectActions['collections'],
|
||||
@@ -390,10 +417,11 @@
|
||||
case 'schedulerEvents':
|
||||
const menu: DbObjMenuItem[] = [
|
||||
...defaultDatabaseObjectAppObjectActions['schedulerEvents'],
|
||||
{
|
||||
divider: true,
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop event',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
,
|
||||
];
|
||||
|
||||
if (data?.status === 'ENABLED') {
|
||||
@@ -408,6 +436,29 @@
|
||||
});
|
||||
}
|
||||
|
||||
menu.push(
|
||||
{
|
||||
divider: true,
|
||||
},
|
||||
{
|
||||
label: 'SQL generator',
|
||||
submenu: [
|
||||
{
|
||||
label: 'CREATE SCHEDULER EVENT',
|
||||
sqlGeneratorProps: {
|
||||
createSchedulerEvents: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'DROP SCHEDULER EVENT',
|
||||
sqlGeneratorProps: {
|
||||
dropSchedulerEvents: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
);
|
||||
|
||||
return menu;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
$: generatePreview($valuesStore, $checkedObjectsStore);
|
||||
|
||||
$: objectList = _.flatten(
|
||||
['tables', 'views', 'matviews', 'procedures', 'functions'].map(objectTypeField =>
|
||||
['tables', 'views', 'matviews', 'procedures', 'functions', 'triggers', 'schedulerEvents'].map(objectTypeField =>
|
||||
_.sortBy(
|
||||
(($dbinfo || {})[objectTypeField] || []).map(obj => ({ ...obj, objectTypeField })),
|
||||
['schemaName', 'pureName']
|
||||
@@ -214,8 +214,8 @@
|
||||
|
||||
<FormCheckboxField label="Truncate tables (delete all rows)" name="truncate" />
|
||||
|
||||
{#each ['View', 'Matview', 'Procedure', 'Function', 'Trigger'] as objtype}
|
||||
<div class="obj-heading">{getObjectTypeFieldLabel(objtype.toLowerCase() + 's')}</div>
|
||||
{#each ['View', 'Matview', 'Procedure', 'Function', 'Trigger', 'SchedulerEvent'] as objtype}
|
||||
<div class="obj-heading">{getObjectTypeFieldLabel(objtype + 's')}</div>
|
||||
<FormCheckboxField label="Create" name={`create${objtype}s`} />
|
||||
<FormCheckboxField label="Drop" name={`drop${objtype}s`} />
|
||||
{#if values[`drop${objtype}s`]}
|
||||
|
||||
Reference in New Issue
Block a user