diff --git a/src/providers/mssql/index.js b/src/providers/mssql/index.js index d4bbace..f3e307c 100644 --- a/src/providers/mssql/index.js +++ b/src/providers/mssql/index.js @@ -360,6 +360,11 @@ export class MssqlProvider { BEGIN ALTER TABLE customergroup ADD updated_at DATETIME2 NOT NULL CONSTRAINT DF_customergroup_updated_at DEFAULT SYSUTCDATETIME(); END + + IF OBJECT_ID(N'dbo.printeragent', N'U') IS NOT NULL AND COL_LENGTH('printeragent', 'sort') IS NULL + BEGIN + ALTER TABLE printeragent ADD sort INT NOT NULL CONSTRAINT DF_printeragent_sort DEFAULT 0; + END `); } catch { // ignore diff --git a/src/providers/mssql/upgrade/2_to_3.js b/src/providers/mssql/upgrade/2_to_3.js index f84f84b..b0ea887 100644 --- a/src/providers/mssql/upgrade/2_to_3.js +++ b/src/providers/mssql/upgrade/2_to_3.js @@ -9,5 +9,12 @@ export default async function upgrade({ query, assertVersion, setVersion }) { await query(INIT_PRINTERAGENT); + await query(` + IF OBJECT_ID(N'dbo.printeragent', N'U') IS NOT NULL AND COL_LENGTH('printeragent', 'sort') IS NULL + BEGIN + ALTER TABLE printeragent ADD sort INT NOT NULL CONSTRAINT DF_printeragent_sort DEFAULT 0; + END + `); + await setVersion(3); } diff --git a/src/providers/sqlite3/index.js b/src/providers/sqlite3/index.js index 0e3195e..019c8d5 100644 --- a/src/providers/sqlite3/index.js +++ b/src/providers/sqlite3/index.js @@ -438,6 +438,11 @@ export class BetterSqlite3Provider extends BetterSqlite3Executor { this.db.exec(`ALTER TABLE customergroup ADD COLUMN updated_at TEXT`); this.db.exec(`UPDATE customergroup SET updated_at = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE updated_at IS NULL`); } + + const printeragentCols = this.db.pragma('table_info("printeragent")').map((c) => c.name); + if (printeragentCols.length > 0 && !printeragentCols.includes('sort')) { + this.db.exec(`ALTER TABLE printeragent ADD COLUMN sort INTEGER NOT NULL DEFAULT 0`); + } } catch { // ignore }