Skip to content

drift 검증 CI 게이트 (schema diff 자동화) #373

@thxforall

Description

@thxforall

배경

이번 post_magazines.status='failed' drift는 dev 시드 시점에야 발견됐다. SeaORM 단독 변경이 prod 에 적용된 후에도 다른 SOT 와 어긋난 상태가 수 주간 방치됨. 자동 검증으로 차기 drift 를 PR 단계 또는 nightly 에서 차단.

상위 spec: docs/superpowers/specs/2026-04-30-db-operating-model-design.md

산출물

schema diff 를 자동으로 검증하는 CI job

범위

  • (옵션 A) PR check: supabase/migrations 적용 결과와 PRD pg_dump --schema-only 결과를 비교 → diff 발생 시 PR 빨간불
  • (옵션 B) Nightly job: 주기적으로 prod schema dump → 본 저장소 상태와 비교 → Slack/issue 알림
  • TS 상수 ↔ DB check constraint 정합 검증은 별도 단위 테스트로 (선택)

옵션 선택은 본 이슈 작업 시 결정.

Acceptance

  • 옵션 A 또는 B 중 하나가 main/dev 에서 정상 동작
  • 이번 같은 SeaORM 단독 변경이 PR 단계에서 차단되거나 nightly 에서 빨갛게 보고됨
  • false positive 처리 정책 (allowlist 또는 일시적 drift 표기) 명시

예상 공수

3-5 일

Risk

  • prod schema dump 권한 관리 (CI 시크릿)
  • false positive (의도된 일시적 drift) 처리 정책 부재 시 노이즈

의존

이슈 1 의 "운영 모델" 이 자리 잡은 후 진행 권장 (drift 정의가 명시되어야 검증 룰이 정해짐).

우선순위

P2

관련: #371

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions