mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 08:56:00 +00:00
dbmodel commandline tool
This commit is contained in:
30
packages/api/src/shell/generateModelSql.js
Normal file
30
packages/api/src/shell/generateModelSql.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const requireEngineDriver = require('../utility/requireEngineDriver');
|
||||
const {
|
||||
extendDatabaseInfo,
|
||||
databaseInfoFromYamlModel,
|
||||
getAlterDatabaseScript,
|
||||
DatabaseAnalyser,
|
||||
} = require('dbgate-tools');
|
||||
const importDbModel = require('../utility/importDbModel');
|
||||
const fs = require('fs');
|
||||
|
||||
async function generateModelSql({ engine, driver, modelFolder, loadedDbModel, outputFile }) {
|
||||
if (!driver) driver = requireEngineDriver(engine);
|
||||
|
||||
const dbInfo = extendDatabaseInfo(
|
||||
loadedDbModel ? databaseInfoFromYamlModel(loadedDbModel) : await importDbModel(modelFolder)
|
||||
);
|
||||
|
||||
const { sql } = getAlterDatabaseScript(
|
||||
DatabaseAnalyser.createEmptyStructure(),
|
||||
dbInfo,
|
||||
{},
|
||||
DatabaseAnalyser.createEmptyStructure(),
|
||||
dbInfo,
|
||||
driver
|
||||
);
|
||||
|
||||
fs.writeFileSync(outputFile, sql);
|
||||
}
|
||||
|
||||
module.exports = generateModelSql;
|
||||
Reference in New Issue
Block a user