UNPKG

dbgate-api

Version:

Allows run DbGate data-manipulation scripts.

26 lines (20 loc) 901 B
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;