Files
story/migrations/000031_context_preparation_status.up.sql
T

19 lines
749 B
PL/PgSQL

BEGIN;
ALTER TABLE context_snapshot
ADD COLUMN preparation_status varchar(16) NOT NULL DEFAULT 'READY',
ADD COLUMN preparation_failure_code varchar(80),
ADD CONSTRAINT context_snapshot_preparation_status_check
CHECK (preparation_status IN ('READY', 'FAILED')),
ADD CONSTRAINT context_snapshot_preparation_failure_check
CHECK (
(preparation_status = 'READY' AND preparation_failure_code IS NULL)
OR
(preparation_status = 'FAILED' AND NULLIF(btrim(preparation_failure_code), '') IS NOT NULL)
);
COMMENT ON COLUMN context_snapshot.preparation_status IS
'Whether the authorized context was prepared. FAILED snapshots retain only a sanitized diagnostic result.';
COMMIT;