차이 추출
현재 entity metadata와 연결된 DB schema를 비교해 변경 SQL 초안을 만든다.
잘못된 연결이면 엉뚱한 기준으로 생성된다TypeORM의 entity는 현재 코드의 모양이고 migration은 이미 배포된 데이터베이스가 지나가야 할 단계다. generate, run, revert를 단순 명령으로 외우면 운영에서 schema drift, 잠금, 롤백 불가 변경을 놓치기 쉽다.
현재 entity metadata와 연결된 DB schema를 비교해 변경 SQL 초안을 만든다.
잘못된 연결이면 엉뚱한 기준으로 생성된다컬럼 drop, nullable 변경, index 재생성, default 값이 데이터에 미치는 영향을 읽는다.
자동 생성 SQL은 의도 설명을 모른다스키마 변경 전후로 필요한 backfill, 중복 제거, FK 정리를 migration에 포함한다.
DDL만으로 끝나지 않는 변경이 많다트랜잭션 지원, 잠금 시간, 배포 순서를 환경별로 나눠 확인한다.
큰 테이블 index는 서비스 지연을 만들 수 있다revert가 데이터 손실 없이 가능한지, 아니면 별도 복구 절차가 필요한지 문서화한다.
drop 이후의 rollback은 코드만 되돌려서 해결되지 않는다