From 746757e19fd0e6642a32328e0b11b962b4d7975a Mon Sep 17 00:00:00 2001 From: McElwain Date: Sun, 24 May 2026 22:57:37 -0500 Subject: [PATCH] Add SQL migration for diagnostic candidate outputs --- ...260524_add_document_diagnostic_outputs.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 migrations/sql/20260524_add_document_diagnostic_outputs.sql diff --git a/migrations/sql/20260524_add_document_diagnostic_outputs.sql b/migrations/sql/20260524_add_document_diagnostic_outputs.sql new file mode 100644 index 0000000..f8a6cc1 --- /dev/null +++ b/migrations/sql/20260524_add_document_diagnostic_outputs.sql @@ -0,0 +1,21 @@ +CREATE TABLE IF NOT EXISTS document_diagnostic_outputs ( + id SERIAL PRIMARY KEY, + document_id INTEGER NOT NULL REFERENCES documents(id) ON DELETE CASCADE, + engine VARCHAR(80) NOT NULL, + output_type VARCHAR(80) NOT NULL, + version_number INTEGER NOT NULL, + file_path TEXT, + status VARCHAR(40) NOT NULL DEFAULT 'created', + error_message TEXT, + metadata_json JSONB DEFAULT '{}'::jsonb, + is_selected BOOLEAN NOT NULL DEFAULT false, + created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW(), + UNIQUE(document_id, engine, output_type, version_number) +); + +CREATE INDEX IF NOT EXISTS ix_document_diagnostic_outputs_document_id +ON document_diagnostic_outputs(document_id); + +CREATE INDEX IF NOT EXISTS ix_document_diagnostic_outputs_lookup +ON document_diagnostic_outputs(document_id, engine, output_type);