import type { DatabaseSync } from "node:sqlite"; // Idempotent: safe to run against a fresh db (already created from schema.sql // with these) or an existing one that predates them. export function up(db: DatabaseSync): void { db.exec(`CREATE TABLE IF NOT EXISTS dump_backlinks ( source_type TEXT NOT NULL, source_id TEXT NOT NULL, from_dump_id TEXT NOT NULL, to_dump_id TEXT NOT NULL, created_at TEXT NOT NULL, PRIMARY KEY (source_type, source_id, to_dump_id), FOREIGN KEY (from_dump_id) REFERENCES dumps(id) ON DELETE CASCADE, FOREIGN KEY (to_dump_id) REFERENCES dumps(id) ON DELETE CASCADE );`); db.exec( `CREATE INDEX IF NOT EXISTS idx_dump_backlinks_to ON dump_backlinks(to_dump_id);`, ); db.exec( `CREATE INDEX IF NOT EXISTS idx_dump_backlinks_from ON dump_backlinks(from_dump_id);`, ); db.exec( `CREATE INDEX IF NOT EXISTS idx_dumps_url ON dumps(url);`, ); }