close dbhandles after shell script (missing tableReader)

This commit is contained in:
SPRINX0\prochazka
2024-10-01 10:56:52 +02:00
parent 9910c54aa6
commit ab28a06bef
8 changed files with 141 additions and 101 deletions

View File

@@ -22,44 +22,48 @@ async function generateDeploySql({
if (!driver) driver = requireEngineDriver(connection);
const dbhan = systemConnection || (await connectUtility(driver, connection, 'read'));
if (!analysedStructure) {
analysedStructure = await driver.analyseFull(dbhan);
try {
if (!analysedStructure) {
analysedStructure = await driver.analyseFull(dbhan);
}
const deployedModel = generateDbPairingId(
extendDatabaseInfo(loadedDbModel ? databaseInfoFromYamlModel(loadedDbModel) : await importDbModel(modelFolder))
);
const currentModel = generateDbPairingId(extendDatabaseInfo(analysedStructure));
const opts = {
...modelCompareDbDiffOptions,
noDropTable: true,
noDropColumn: true,
noDropConstraint: true,
noDropSqlObject: true,
noRenameTable: true,
noRenameColumn: true,
};
const currentModelPaired = matchPairedObjects(deployedModel, currentModel, opts);
const currentModelPairedPreloaded = await enrichWithPreloadedRows(deployedModel, currentModelPaired, dbhan, driver);
// console.log('currentModelPairedPreloaded', currentModelPairedPreloaded.tables[0]);
// console.log('deployedModel', deployedModel.tables[0]);
// console.log('currentModel', currentModel.tables[0]);
// console.log('currentModelPaired', currentModelPaired.tables[0]);
const res = getAlterDatabaseScript(
currentModelPairedPreloaded,
deployedModel,
opts,
currentModelPairedPreloaded,
deployedModel,
driver
);
return res;
} finally {
if (!systemConnection) {
await driver.close(dbhan);
}
}
const deployedModel = generateDbPairingId(
extendDatabaseInfo(loadedDbModel ? databaseInfoFromYamlModel(loadedDbModel) : await importDbModel(modelFolder))
);
const currentModel = generateDbPairingId(extendDatabaseInfo(analysedStructure));
const opts = {
...modelCompareDbDiffOptions,
noDropTable: true,
noDropColumn: true,
noDropConstraint: true,
noDropSqlObject: true,
noRenameTable: true,
noRenameColumn: true,
};
const currentModelPaired = matchPairedObjects(deployedModel, currentModel, opts);
const currentModelPairedPreloaded = await enrichWithPreloadedRows(deployedModel, currentModelPaired, dbhan, driver);
// console.log('currentModelPairedPreloaded', currentModelPairedPreloaded.tables[0]);
// console.log('deployedModel', deployedModel.tables[0]);
// console.log('currentModel', currentModel.tables[0]);
// console.log('currentModelPaired', currentModelPaired.tables[0]);
const res = getAlterDatabaseScript(
currentModelPairedPreloaded,
deployedModel,
opts,
currentModelPairedPreloaded,
deployedModel,
driver
);
if (!systemConnection) {
await driver.close(dbhan);
}
return res;
}
module.exports = generateDeploySql;