import type Database from 'better-sqlite3'; export function migrateBankCredentials(handle: Database.Database): void { handle.exec(` CREATE TABLE IF NOT EXISTS bank_credentials ( instance_id TEXT PRIMARY KEY, server TEXT NOT NULL, token TEXT NOT NULL, token_hash TEXT NOT NULL UNIQUE, created_at TEXT NOT NULL ); `); if ( !(handle.pragma('table_info(bank_requests)') as { name: string }[]).some( (column) => column.name === 'instance_id' ) ) { handle.exec(` ALTER TABLE bank_requests ADD COLUMN instance_id TEXT; UPDATE bank_requests SET instance_id = ( SELECT id FROM native_instances WHERE server = bank_requests.server AND retired_at IS NULL ); `); } }