mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-26 23:46:23 +00:00
rename view/procedure/function
This commit is contained in:
@@ -44,15 +44,16 @@ async function generateDeploySql({
|
||||
analysedStructure = await driver.analyseFull(dbhan);
|
||||
}
|
||||
|
||||
if (ignoreNameRegex) {
|
||||
analysedStructure = skipNamesInStructureByRegex(analysedStructure, new RegExp(ignoreNameRegex, 'i'));
|
||||
}
|
||||
analysedStructure = skipDbGateInternalObjects(analysedStructure);
|
||||
|
||||
let deployedModelSource = loadedDbModel
|
||||
? databaseInfoFromYamlModel(loadedDbModel)
|
||||
: await importDbModel(modelFolder);
|
||||
|
||||
if (ignoreNameRegex) {
|
||||
analysedStructure = skipNamesInStructureByRegex(analysedStructure, new RegExp(ignoreNameRegex, 'i'));
|
||||
deployedModelSource = skipNamesInStructureByRegex(deployedModelSource, new RegExp(ignoreNameRegex, 'i'));
|
||||
}
|
||||
analysedStructure = skipDbGateInternalObjects(analysedStructure);
|
||||
|
||||
for (const transform of modelTransforms || []) {
|
||||
deployedModelSource = transform(deployedModelSource);
|
||||
}
|
||||
|
||||
@@ -748,6 +748,8 @@ export function createAlterDatabasePlan(
|
||||
plan.recreates.sqlObjects += 1;
|
||||
plan.dropSqlObject(oldobj);
|
||||
plan.createSqlObject(newobj);
|
||||
} else if (!testEqualFullNames(oldobj, newobj, opts)) {
|
||||
plan.renameSqlObject(oldobj, newobj.pureName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,13 +219,13 @@ export function skipNamesInStructureByRegex(db: DatabaseInfo, regex: RegExp) {
|
||||
|
||||
return {
|
||||
...db,
|
||||
tables: (db.tables || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
views: (db.views || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
collections: (db.collections || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
matviews: (db.matviews || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
procedures: (db.procedures || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
functions: (db.functions || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
triggers: (db.triggers || []).filter(tbl => !regex.test(tbl.pureName)),
|
||||
tables: (db.tables || []).filter(x => !regex.test(x.pureName)),
|
||||
views: (db.views || []).filter(x => !regex.test(x.pureName)),
|
||||
collections: (db.collections || []).filter(x => !regex.test(x.pureName)),
|
||||
matviews: (db.matviews || []).filter(x => !regex.test(x.pureName)),
|
||||
procedures: (db.procedures || []).filter(x => !regex.test(x.pureName)),
|
||||
functions: (db.functions || []).filter(x => !regex.test(x.pureName)),
|
||||
triggers: (db.triggers || []).filter(x => !regex.test(x.pureName)),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -197,9 +197,15 @@
|
||||
forceNewTab: true,
|
||||
icon: 'img perspective',
|
||||
},
|
||||
{
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop view',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Rename view',
|
||||
isRename: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
{
|
||||
divider: true,
|
||||
@@ -256,9 +262,15 @@
|
||||
label: 'Open structure',
|
||||
tab: 'TableStructureTab',
|
||||
},
|
||||
{
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop view',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Rename view',
|
||||
isRename: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
{
|
||||
label: 'Query designer',
|
||||
@@ -318,9 +330,15 @@
|
||||
];
|
||||
case 'procedures':
|
||||
return [
|
||||
{
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop procedure',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Rename procedure',
|
||||
isRename: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
{
|
||||
label: 'SQL: CREATE PROCEDURE',
|
||||
@@ -349,9 +367,15 @@
|
||||
];
|
||||
case 'functions':
|
||||
return [
|
||||
{
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Drop function',
|
||||
isDrop: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
hasPermission('dbops/model/edit') && {
|
||||
label: 'Rename function',
|
||||
isRename: true,
|
||||
requiresWriteAccess: true,
|
||||
},
|
||||
{
|
||||
label: 'SQL: CREATE FUNCTION',
|
||||
|
||||
Reference in New Issue
Block a user