Migration

마이그레이션은 변경 순서와 운영 위험을 버전으로 관리한다

ORM 자동 DDL은 개발에는 편하지만 운영에서는 락, backfill, 롤백, 배포 순서를 관리하는 migration 파일이 필요하다.

PlanDDL 잠금과 데이터 변경량을 예측한다
Versioned Script변경을 파일과 번호로 남긴다
Backfill큰 데이터는 작은 batch로 채운다
Deploy코드와 DB 변경 순서를 분리한다
Verify/Rollback검증과 되돌릴 절차를 준비한다
도구
방식
잘 맞는 환경
Flyway
버전 기반 SQL migration
SQL 중심 단순한 변경 이력
Liquibase
변경셋과 다양한 포맷
복잡한 변경 추적과 검토
Prisma Migrate
schema 기반 migration
Prisma 프로젝트
Alembic/Django
코드 기반 migration
Python ORM 생태계