From f31826c256e0f01e3e0b1a10f79b79c43bbdc847 Mon Sep 17 00:00:00 2001 From: Kevin Gatera Date: Mon, 2 Mar 2026 16:58:07 -0500 Subject: [PATCH] fix migration metadata table detection on postgres --- server/managers/MigrationManager.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/managers/MigrationManager.js b/server/managers/MigrationManager.js index 588771318..df0778849 100644 --- a/server/managers/MigrationManager.js +++ b/server/managers/MigrationManager.js @@ -215,7 +215,7 @@ class MigrationManager { async checkOrCreateMigrationsMetaTable() { const queryInterface = this.sequelize.getQueryInterface() - let migrationsMetaTableExists = await queryInterface.tableExists(MigrationManager.MIGRATIONS_META_TABLE) + let migrationsMetaTableExists = await this.tableExists(MigrationManager.MIGRATIONS_META_TABLE) // If the table exists, check that the `version` and `maxVersion` rows exist if (migrationsMetaTableExists) { @@ -255,6 +255,20 @@ class MigrationManager { } } + async tableExists(tableName) { + const queryInterface = this.sequelize.getQueryInterface() + if (typeof queryInterface.tableExists === 'function') { + return queryInterface.tableExists(tableName) + } + + const tables = await queryInterface.showAllTables() + return tables.some((table) => { + if (typeof table === 'string') return table === tableName + if (table?.tableName) return table.tableName === tableName + return false + }) + } + extractVersionFromTag(tag) { if (!tag) return null const versionMatch = tag.match(/^v?(\d+\.\d+\.\d+)/)