/** * 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, setVersion: (v: number) => Promise }} 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); }