refactor - default dbaget engine mvoed to dbgate-tools

This commit is contained in:
Jan Prochazka
2020-11-23 20:49:25 +01:00
parent d3cfc44fd9
commit 88cf6d35ed
16 changed files with 115 additions and 131 deletions

View File

@@ -2,7 +2,7 @@ const fp = require('lodash/fp');
const _ = require('lodash');
const sql = require('./sql');
const DatabaseAnalayser = require('../default/DatabaseAnalyser');
const { DatabaseAnalyser } = require('dbgate-tools');
const { isTypeString, isTypeNumeric } = require('dbgate-tools');
const { rangeStep } = require('lodash/fp');
@@ -35,7 +35,7 @@ function objectTypeToField(type) {
return null;
}
class MySqlAnalyser extends DatabaseAnalayser {
class MySqlAnalyser extends DatabaseAnalyser {
constructor(pool, driver) {
super(pool, driver);
}
@@ -103,8 +103,8 @@ class MySqlAnalyser extends DatabaseAnalayser {
tables: tables.rows.map((table) => ({
...table,
columns: columns.rows.filter((col) => col.pureName == table.pureName).map(getColumnInfo),
primaryKey: DatabaseAnalayser.extractPrimaryKeys(table, pkColumns.rows),
foreignKeys: DatabaseAnalayser.extractForeignKeys(table, fkColumns.rows),
primaryKey: DatabaseAnalyser.extractPrimaryKeys(table, pkColumns.rows),
foreignKeys: DatabaseAnalyser.extractForeignKeys(table, fkColumns.rows),
})),
views: views.rows.map((view) => ({
...view,

View File

@@ -1,4 +1,4 @@
const SqlDumper = require('../default/SqlDumper');
const { SqlDumper } = require('dbgate-tools');
class MySqlDumper extends SqlDumper {
/** @param type {import('dbgate-types').TransformType} */

View File

@@ -1,4 +1,4 @@
const driverBase = require('../default/driverBase');
const { driverBase } = require('dbgate-tools');
const MySqlAnalyser = require('./MySqlAnalyser');
const MySqlDumper = require('./MySqlDumper');
@@ -143,6 +143,12 @@ const driver = {
const { rows } = await this.query(connection, 'show databases');
return rows.map((x) => ({ name: x.Database }));
},
async writeTable(pool, name, options) {
const { stream } = pool._nativeModules;
// @ts-ignore
return createBulkInsertStreamBase(this, stream, pool, name, options);
},
// createDumper() {
// return new MySqlDumper(this);
// },