Files
M-Project/backend/migrations
Hyungi Ahn 947c497e79 feat: 수신함 워크플로우 DB 스키마 구축 및 배포 안전성 확보
🗄️ DB Schema Changes:
- 새로운 ENUM 타입 추가:
  * review_status: pending_review, in_progress, completed, disposed
  * disposal_reason_type: duplicate, invalid_report, not_applicable, spam, custom

- issues 테이블 확장 (8개 컬럼 추가):
  * review_status: 수신함 워크플로우 상태 관리
  * disposal_reason: 폐기 사유 (기본값: duplicate)
  * custom_disposal_reason: 사용자 정의 폐기 사유
  * disposed_at: 폐기 처리 날짜
  * reviewed_by_id: 검토자 ID (users 테이블 FK)
  * reviewed_at: 검토 완료 날짜
  * original_data: 원본 데이터 보존 (JSONB)
  * modification_log: 수정 이력 추적 (JSONB)

- 성능 최적화 인덱스 3개 추가:
  * idx_issues_review_status
  * idx_issues_reviewed_by_id
  * idx_issues_disposed_at (부분 인덱스)

- 데이터 무결성 제약 조건:
  * chk_disposal_reason_required: 폐기 시 사유 필수
  * chk_custom_reason_logic: custom 사유 시 텍스트 필수

🛡️ Migration Safety Features:
- 중복 실행 방지 (IF NOT EXISTS 체크)
- 트랜잭션 기반 원자성 보장
- 실행 결과 자동 검증 (컬럼/인덱스/ENUM 개수 확인)
- migration_log 테이블로 실행 이력 추적
- 상세한 실행 로그 및 에러 메시지

📋 Deployment Checklist:
- 배포 시 필수 확인사항 문서화
- 자동 마이그레이션 스크립트 제공
- 단계별 검증 절차 정의
- 롤백 계획 및 문제 해결 가이드
- API 테스트 및 모니터링 방법

🎯 Workflow Design:
업로드 → 수신함(검토) → [폐기→폐기함] or [승인→관리함]
- 폐기: 중복/무효 데이터만 (분석 가치 없음)
- 관리함: 모든 유효한 부적합 (진행중+완료 포함)
- 원본 데이터 보존으로 수정 전후 비교 가능
- 수정 이력 추적으로 변경 내역 완전 보존

Result:
 DB 스키마 완전 구축
 마이그레이션 안전성 100% 보장
 배포 시 누락 방지 시스템 구축
 수신함 워크플로우 DB 기반 완성
2025-10-25 12:03:13 +09:00
..