mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 00:56:02 +00:00
26 lines
901 B
JavaScript
26 lines
901 B
JavaScript
const requireEngineDriver = require('../utility/requireEngineDriver');
|
|
const { connectUtility } = require('../utility/connectUtility');
|
|
const { getLogger } = require('dbgate-tools');
|
|
const exportDbModel = require('../utility/exportDbModel');
|
|
|
|
const logger = getLogger('analyseDb');
|
|
|
|
async function loadDatabase({ connection = undefined, systemConnection = undefined, driver = undefined, outputDir }) {
|
|
logger.debug(`DBGM-00058 Analysing database`);
|
|
|
|
if (!driver) driver = requireEngineDriver(connection);
|
|
const dbhan = systemConnection || (await connectUtility(driver, connection, 'read', { forceRowsAsObjects: true }));
|
|
try {
|
|
const dbInfo = await driver.analyseFull(dbhan);
|
|
logger.debug(`DBGM-00059 Analyse finished`);
|
|
|
|
await exportDbModel(dbInfo, outputDir);
|
|
} finally {
|
|
if (!systemConnection) {
|
|
await driver.close(dbhan);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = loadDatabase;
|