Files
hyungi_document_server/migrations/344_documents_law_jurisdiction_check.sql
T
hyungi 5da94213ec feat(safety): 분류 축 A-1 — material_type/jurisdiction/published_date + legal_acts/legal_meta (mig 340~351)
안전 자료실 plan safety-library-1 A-1 (r3 계약 반영):
- documents 3컬럼 (TEXT+CHECK, nullable additive) + law→jurisdiction NOT NULL 구조 강제
- legal_acts 단일 레지스트리(워치리스트 겸, watermark·repeal_detected_at 포함)
- legal_meta 최소형 (version_key 합성형 UNIQUE, 전 버전 pending 적재 계약)
- partial 인덱스 2 + family 인덱스 + paper DOI partial UNIQUE (doi=서지 단일 보유 계약)
- ephemeral PG16 스모크: 12파일 적용 + CHECK/UNIQUE 계약 6종 검증 PASS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 21:25:04 +09:00

8 lines
560 B
SQL

-- 344_documents_law_jurisdiction_check.sql
-- 안전 자료실 분류 축 A-1 (5/12) — 나라 혼선 금지를 구조로 강제.
-- 법령(material_type='law')인데 jurisdiction NULL 인 행은 적재 자체가 거부된다.
-- 업로드 승인 경로는 proposed_jurisdiction 필수 입력 (KR 기본값 오염 금지 — plan A-2).
-- material_type 이 NULL 이면 식 전체가 NULL = CHECK 통과 (비법령 무영향).
ALTER TABLE documents ADD CONSTRAINT chk_documents_law_jurisdiction
CHECK (material_type <> 'law' OR jurisdiction IS NOT NULL);