deploy db WIP

This commit is contained in:
Jan Prochazka
2021-10-03 09:53:32 +02:00
parent b5f22516b6
commit 58666fd4ec
7 changed files with 48 additions and 18 deletions

View File

@@ -10,7 +10,7 @@ async function deployDb({ connection, systemConnection, driver, analysedStructur
modelFolder,
loadedDbModel,
});
console.log('RUNNING DEPLOY SCRIPT:', sql);
// console.log('RUNNING DEPLOY SCRIPT:', sql);
await executeQuery({ connection, systemConnection, driver, sql });
}

View File

@@ -1,4 +1,3 @@
const { splitQuery } = require('dbgate-query-splitter');
const requireEngineDriver = require('../utility/requireEngineDriver');
const connectUtility = require('../utility/connectUtility');
@@ -9,12 +8,7 @@ async function executeQuery({ connection = undefined, systemConnection = undefin
const pool = systemConnection || (await connectUtility(driver, connection));
console.log(`Connected.`);
for (const sqlItem of splitQuery(sql, driver.getQuerySplitterOptions('script'))) {
console.log('Executing query', sqlItem);
await driver.query(pool, sqlItem, { discardResult: true });
}
console.log(`Query finished`);
await driver.script(pool, sql);
}
module.exports = executeQuery;

View File

@@ -3,6 +3,7 @@ const {
generateDbPairingId,
matchPairedObjects,
databaseInfoFromYamlModel,
extendDatabaseInfo,
} = require('dbgate-tools');
const importDbModel = require('../utility/importDbModel');
const requireEngineDriver = require('../utility/requireEngineDriver');
@@ -23,9 +24,9 @@ async function generateDeploySql({
}
const deployedModel = generateDbPairingId(
loadedDbModel ? databaseInfoFromYamlModel(loadedDbModel) : await importDbModel(modelFolder)
extendDatabaseInfo(loadedDbModel ? databaseInfoFromYamlModel(loadedDbModel) : await importDbModel(modelFolder))
);
const currentModel = generateDbPairingId(analysedStructure);
const currentModel = generateDbPairingId(extendDatabaseInfo(analysedStructure));
const currentModelPaired = matchPairedObjects(deployedModel, currentModel);
const { sql } = getAlterDatabaseScript(currentModelPaired, deployedModel, {}, deployedModel, driver);
return sql;