script base deployer

This commit is contained in:
Jan Prochazka
2024-11-11 15:37:54 +01:00
parent 1b8a2cb923
commit 9d8ec9cc6b
9 changed files with 290 additions and 24 deletions

View File

@@ -1,5 +1,9 @@
const generateDeploySql = require('./generateDeploySql');
const executeQuery = require('./executeQuery');
const { ScriptDrivedDeployer } = require('dbgate-datalib');
const connectUtility = require('../utility/connectUtility');
const requireEngineDriver = require('../utility/requireEngineDriver');
const loadModelFolder = require('../utility/loadModelFolder');
async function deployDb({
connection,
@@ -13,9 +17,15 @@ async function deployDb({
ignoreNameRegex = '',
targetSchema = null,
}) {
const dbhan = systemConnection || (await connectUtility(driver, connection, 'read'));
if (!driver) driver = requireEngineDriver(connection);
const scriptDeployer = new ScriptDrivedDeployer(dbhan, driver, loadedDbModel ?? (await loadModelFolder(modelFolder)));
await scriptDeployer.runPre();
const { sql } = await generateDeploySql({
connection,
systemConnection,
systemConnection: dbhan,
driver,
analysedStructure,
modelFolder,
@@ -26,7 +36,9 @@ async function deployDb({
targetSchema,
});
// console.log('RUNNING DEPLOY SCRIPT:', sql);
await executeQuery({ connection, systemConnection, driver, sql, logScriptItems: true });
await executeQuery({ connection, systemConnection: dbhan, driver, sql, logScriptItems: true });
await scriptDeployer.runPost();
}
module.exports = deployDb;