diff --git a/packages/tools/src/DatabaseAnalyser.ts b/packages/tools/src/DatabaseAnalyser.ts index a61c19612..d99c31984 100644 --- a/packages/tools/src/DatabaseAnalyser.ts +++ b/packages/tools/src/DatabaseAnalyser.ts @@ -30,11 +30,16 @@ export class DatabaseAnalyser { } async singleObjectAnalysis(name, typeField) { + // console.log('Analysing SINGLE OBJECT', name, typeField); this.singleObjectFilter = { ...name, typeField }; await this._computeSingleObjectId(); - const res = this._runAnalysis(); - if (res[typeField]?.length == 1) return res[typeField][0]; - const obj = res[typeField]?.find(x => x.pureName == name.pureName && x.schemaName == name.schemaName); + const res = await this._runAnalysis(); + // console.log('SINGLE OBJECT RES', res); + const obj = + res[typeField]?.length == 1 + ? res[typeField][0] + : res[typeField]?.find(x => x.pureName == name.pureName && x.schemaName == name.schemaName); + // console.log('SINGLE OBJECT', obj); return obj; } diff --git a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js index bdb1c3436..c80a9bfe7 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js +++ b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js @@ -43,6 +43,11 @@ class Analyser extends DatabaseAnalyser { return this.getRequestedObjectPureNames('views', allViewNames); } + async _computeSingleObjectId() { + const { pureName } = this.singleObjectFilter; + this.singleObjectId = pureName; + } + async getViewTexts(allViewNames) { const res = {}; for (const viewName of this.getRequestedViewNames(allViewNames)) {