29 lines
834 B
JavaScript
29 lines
834 B
JavaScript
/**
|
|
* Schema 4 → 3 (SQLite):
|
|
* - Drops agentprinter table
|
|
* - Removes enabled from printeragent
|
|
* - Restores clientserial, clientmodel, clientstate in printeragent
|
|
* @param {{ exec: (sql: string) => void, assertVersion: (v: number) => Promise<void>, setVersion: (v: number) => Promise<void> }} ctx
|
|
*/
|
|
export default async function downgrade({ exec, assertVersion, setVersion }) {
|
|
await assertVersion(4);
|
|
|
|
exec(`DROP TABLE IF EXISTS agentprinter;`);
|
|
|
|
try {
|
|
exec(`ALTER TABLE printeragent DROP COLUMN enabled;`);
|
|
} catch {}
|
|
try {
|
|
exec(`ALTER TABLE printeragent ADD COLUMN clientserial TEXT;`);
|
|
} catch {}
|
|
try {
|
|
exec(`ALTER TABLE printeragent ADD COLUMN clientmodel TEXT;`);
|
|
} catch {}
|
|
try {
|
|
exec(`ALTER TABLE printeragent ADD COLUMN clientstate TEXT;`);
|
|
} catch {}
|
|
|
|
await setVersion(3);
|
|
}
|
|
|