스키마 변경을 검토 가능한 순서로 만든다

엔티티의 현재 모양과 달리, 마이그레이션은 이미 존재하는 데이터베이스가 안전하게 지나갈 변경 이력이다.

1

엔티티 변경

컬럼·관계·인덱스의 목표 상태를 코드에 정의한다.

2

차이 생성

메타데이터와 실제 스키마의 차이를 SQL 초안으로 만든다.

migration:generate
3

SQL 검토

DROP, 잠금, backfill, 제약 조건 순서를 사람이 확인한다.

4

검증 후 적용

운영과 가까운 데이터량으로 시간과 실패 지점을 측정한다.

migration:run
5

이력 기록

적용된 버전을 남겨 다음 배포가 남은 단계만 실행하게 한다.

자동 생성 ≠ 안전 보장 컬럼 삭제와 타입 축소는 데이터 손실을, 큰 인덱스 생성은 긴 잠금을 만들 수 있다.
운영은 synchronize: false 변경 파일을 리뷰하고 배포 순서·백업·forward fix까지 준비한다.

revert의 한계: 마지막 단계의 down SQL을 실행할 뿐, 이미 삭제된 데이터까지 자동으로 복원하지는 않는다.