-- 0002_missing.sql — track files that disappear from disk. -- -- A rescan must not delete an item whose file is temporarily unavailable -- (unmounted drive, NFS hiccup, user mid-reorganise). Deleting cascades into -- progress, which is the one thing in this schema that cannot be regenerated. -- Mark instead, and filter on read. A later pass can prune rows that have been -- missing for a long time. ALTER TABLE media_items ADD COLUMN missing INTEGER NOT NULL DEFAULT 0; ALTER TABLE media_files ADD COLUMN missing INTEGER NOT NULL DEFAULT 0; CREATE INDEX idx_items_library_missing ON media_items(library_id, missing); CREATE INDEX idx_files_missing ON media_files(missing);