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');
function normalizeTypeName(dataType) {
@@ -35,7 +35,7 @@ function getColumnInfo({
};
}
class PostgreAnalyser extends DatabaseAnalayser {
class PostgreAnalyser extends DatabaseAnalyser {
constructor(pool, driver) {
super(pool, driver);
}
@@ -84,8 +84,8 @@ class PostgreAnalyser extends DatabaseAnalayser {
columns: columns.rows
.filter((col) => col.pureName == table.pureName && col.schemaName == table.schemaName)
.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 PostgreDumper extends SqlDumper {
/** @param type {import('dbgate-types').TransformType} */

View File

@@ -1,5 +1,5 @@
const _ = require('lodash');
const driverBase = require('../default/driverBase');
const { driverBase } = require('dbgate-tools');
const PostgreAnalyser = require('./PostgreAnalyser');
const PostgreDumper = require('./PostgreDumper');
@@ -174,6 +174,11 @@ const driver = {
// createDumper() {
// return new PostgreDumper(this);
// },
async writeTable(pool, name, options) {
const { stream } = pool._nativeModules;
// @ts-ignore
return createBulkInsertStreamBase(this, stream, pool, name, options);
},
async listDatabases(client) {
const { rows } = await this.query(client, 'SELECT datname AS name FROM pg_database WHERE datistemplate = false');
return rows;