mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 16:36:00 +00:00
sql generator - basic concept
This commit is contained in:
19
packages/api/src/controllers/sqlgen.js
Normal file
19
packages/api/src/controllers/sqlgen.js
Normal file
@@ -0,0 +1,19 @@
|
||||
const databaseConnections = require('./databaseConnections');
|
||||
const connections = require('./connections');
|
||||
const requireEngineDriver = require('../utility/requireEngineDriver');
|
||||
const { SqlGenerator } = require('dbgate-tools')
|
||||
|
||||
module.exports = {
|
||||
preview_meta: {
|
||||
method: 'post',
|
||||
},
|
||||
async preview({ conid, database, objects, options }) {
|
||||
const structure = await databaseConnections.structure({ conid, database })
|
||||
const connection = await connections.get({ conid })
|
||||
const driver = requireEngineDriver(connection);
|
||||
const dmp = driver.createDumper()
|
||||
const generator = new SqlGenerator(structure, options, objects, dmp);
|
||||
generator.dump();
|
||||
return dmp.s;
|
||||
},
|
||||
};
|
||||
@@ -26,6 +26,7 @@ const uploads = require('./controllers/uploads');
|
||||
const plugins = require('./controllers/plugins');
|
||||
const files = require('./controllers/files');
|
||||
const scheduler = require('./controllers/scheduler');
|
||||
const sqlgen = require('./controllers/sqlgen');
|
||||
|
||||
const { rundir } = require('./utility/directories');
|
||||
|
||||
@@ -72,6 +73,7 @@ function start(argument = null) {
|
||||
useController(app, '/plugins', plugins);
|
||||
useController(app, '/files', files);
|
||||
useController(app, '/scheduler', scheduler);
|
||||
useController(app, '/sqlgen', sqlgen);
|
||||
|
||||
// if (process.env.PAGES_DIRECTORY) {
|
||||
// app.use('/pages', express.static(process.env.PAGES_DIRECTORY));
|
||||
|
||||
Reference in New Issue
Block a user