Merge branch 'master' into develop

This commit is contained in:
Jan Prochazka
2021-09-30 08:28:25 +02:00
56 changed files with 752 additions and 225 deletions

View File

@@ -28,7 +28,7 @@
"dbgate-types": "^4.1.1",
"jest": "^24.9.0",
"ts-jest": "^25.2.1",
"typescript": "^3.7.5"
"typescript": "^4.4.3"
},
"dependencies": {
"lodash": "^4.17.21",

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() {