Files
hyungi_document_server/migrations/_deferred
Hyungi Ahn 91e7a64713 ops(guardrails): activate migration 142 ask_events.source NOT NULL
1주 운영 관찰 후 활성화 (배포 2026-04-17 이후 source IS NULL 행 0건 확인).
deferred → migrations/142_*.sql 이동.
2026-05-02 16:12:38 +09:00
..

Deferred migrations

이 디렉토리의 *.sql 파일은 app/core/database.py:_parse_migration_files()migrations_dir.glob("*.sql") (non-recursive) 에 잡히지 않으므로 자동 적용 안 됨.

활성화 절차: git mv migrations/_deferred/<file>.sql migrations/<file>.sql 후 deploy.

142_ask_events_source_notnull.sql

source 컬럼에 NOT NULL 제약 추가. 1주 운영 관찰 후 적용 권장:

조건:

  • 138~141 적용 후 7일 운영
  • SELECT COUNT(*) FROM ask_events WHERE source IS NULL AND created_at > <deploy_time>; 결과 0 확인 — 즉, 새 코드가 모든 INSERT 에 source 를 항상 채우는지 empirical 검증
  • 위 0 이면 142 활성화 → docker compose restart fastapi (init_db 가 자동 적용)

이유: NOT NULL 적용 후 NULL INSERT 시도 시 ask_events 기록 실패 (data loss).