diff --git a/backend/database.py b/backend/database.py index 4d5f1ed..5c99e98 100644 --- a/backend/database.py +++ b/backend/database.py @@ -58,6 +58,25 @@ def init_db(): ALTER TABLE ocr_jobs ADD COLUMN IF NOT EXISTS qdrant_synced_at TIMESTAMPTZ """) + cur.execute(""" + ALTER TABLE ocr_jobs + ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ + """) + # Trigger function: stamp updated_at on every row update + cur.execute(""" + CREATE OR REPLACE FUNCTION set_updated_at() + RETURNS TRIGGER AS $$ + BEGIN + NEW.updated_at = NOW(); + RETURN NEW; + END; + $$ LANGUAGE plpgsql + """) + cur.execute(""" + CREATE OR REPLACE TRIGGER ocr_jobs_set_updated_at + BEFORE UPDATE ON ocr_jobs + FOR EACH ROW EXECUTE FUNCTION set_updated_at() + """) # Unique constraint: prevent duplicate (author, chapter, page) submissions. # Applies only when all three fields are non-null. cur.execute("""