rag-service/migrations/004_ocr_quality_diagnostics.sql

19 lines
742 B
SQL

ALTER TABLE rag_document_pages
ADD COLUMN IF NOT EXISTS quality_outcome text NULL,
ADD COLUMN IF NOT EXISTS quality_warnings jsonb NOT NULL DEFAULT '[]'::jsonb,
ADD COLUMN IF NOT EXISTS blocking_reasons jsonb NOT NULL DEFAULT '[]'::jsonb,
ADD COLUMN IF NOT EXISTS primary_blocking_reason text NULL,
ADD COLUMN IF NOT EXISTS quality_report_sha256 char(64) NULL;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint
WHERE conrelid = 'rag_document_pages'::regclass
AND conname = 'rag_document_pages_quality_outcome_check'
) THEN
ALTER TABLE rag_document_pages
ADD CONSTRAINT rag_document_pages_quality_outcome_check
CHECK (quality_outcome IN ('accepted', 'warning', 'blocked'));
END IF;
END $$;