This commit is contained in:
Jan Prochazka
2021-09-26 20:25:01 +02:00
parent f85460cce8
commit 7e82e83faa
11 changed files with 47 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
import { DatabaseInfo, DatabaseModification, EngineDriver } from 'dbgate-types';
import { DatabaseInfo, DatabaseModification, EngineDriver, SqlDialect } from 'dbgate-types';
import _sortBy from 'lodash/sortBy';
import _groupBy from 'lodash/groupBy';
import _pick from 'lodash/pick';
@@ -13,8 +13,11 @@ export class DatabaseAnalyser {
modifications: DatabaseModification[];
singleObjectFilter: any;
singleObjectId: string = null;
dialect: SqlDialect;
constructor(public pool, public driver: EngineDriver) {}
constructor(public pool, public driver: EngineDriver, version) {
this.dialect = (driver?.dialectByVersion && driver?.dialectByVersion(version)) || driver?.dialect;
}
async _runAnalysis() {
return DatabaseAnalyser.createEmptyStructure();

View File

@@ -17,8 +17,8 @@ export const driverBase = {
dumperClass: SqlDumper,
dialect,
async analyseFull(pool) {
const analyser = new this.analyserClass(pool, this);
async analyseFull(pool, version) {
const analyser = new this.analyserClass(pool, this, version);
return analyser.fullAnalysis();
},
async analyseSingleObject(pool, name, typeField = 'tables') {
@@ -28,8 +28,8 @@ export const driverBase = {
analyseSingleTable(pool, name) {
return this.analyseSingleObject(pool, name, 'tables');
},
async analyseIncremental(pool, structure) {
const analyser = new this.analyserClass(pool, this);
async analyseIncremental(pool, structure, version) {
const analyser = new this.analyserClass(pool, this, version);
return analyser.incrementalAnalysis(structure);
},
createDumper() {