# MySQL 추가 마이그레이션 적용 기준

## 적용 순서

1. `migration_v45_from_yellow_v44.sql`
2. `migration_v46_media_saved_flow.sql`

## v45

- 기존 `ig_media`, `ig_media_user_download`를 삭제하거나 변경하지 않는 추가형 구조다.
- 회원, 장치, 그룹, 게시물, 통계, 자산, 대본, 후킹, 연구, 작업, 동기화, 포인트 기본 테이블을 추가한다.

## v46

- 다운로드 시작 경로별 batch/job과 공통 `MEDIA_SAVED` 완료 이벤트를 추가한다.
- 적용 대상 `source_mode`:
  - `MANUAL_SINGLE`
  - `BULK_ALL`
  - `BULK_FILTERED`
  - `TOP_SORTED`
  - `TRANSCRIPT_REQUEST`
- 서버에는 MP4/JPG 원본, 로컬 절대경로, 로컬 상대경로를 저장하지 않는다.
- 서버에는 게시물·자산 식별자, 파일명, 크기, 해시, 완료 시각, 수집자·장치만 저장한다.
- `client_event_id`와 `device_id` 조합으로 재전송 중복을 막는다.

## 실제 서버 적용 전 조건

- DB 백업
- staging 적용
- MySQL 버전 호환성 확인
- 생성 테이블·인덱스·외래키 확인
- `yellow.php` 기존 API 회귀 확인
- v46 수신 API 구현 후 실제 동기화 검증
