6장. Migration을 별도 제품처럼 시험한다
빈 DB에 전체 migration, 이전 production 유사 schema에서 forward migration, 새 코드와 구 schema의 호환, rollback 또는 roll-forward를 시험한다. 대형 테이블에는 lock 시간과 backfill 속도를 측정한다.
expand/migrate/contract 단계에서 새 column 추가, 이중 읽기·쓰기, backfill, 구 column 제거를 분리한다. 배포 순서가 바뀌어도 안전한지 matrix로 만든다. destructive change는 backup 존재가 아니라 restore drill과 업무 수량 검증 뒤에 승인한다.