무중단 변경

Expand and Contract 배포 순서

스키마와 애플리케이션을 동시에 바꾸면 구버전 인스턴스가 깨질 수 있다. 확장, 이행, 축소 순서로 호환 구간을 둔다.

01

새 컬럼 추가

기존 코드가 모르는 컬럼을 추가하고 기본 동작은 유지한다.

하위 호환
02

이중 쓰기

신규 코드가 기존 컬럼과 새 컬럼을 함께 채운다.

전환 구간
03

읽기 전환

조회 경로를 새 컬럼으로 옮기고 결과 차이를 비교한다.

검증 로그
04

백필 완료

과거 데이터가 모두 새 구조를 갖도록 채운다.

잔여 0건
05

구조 정리

사용 중단 기간 뒤 기존 컬럼과 관련 코드를 제거한다.

축소

동시 배포 · 데이터 비교 · 제거 시점 점검

동시 배포 구버전과 신버전 인스턴스가 같은 스키마에서 동시에 동작해야 한다.
데이터 비교 이중 쓰기 기간에는 기존 값과 새 값의 불일치를 알림으로 잡는다.
제거 시점 로그에서 기존 컬럼 참조가 사라진 뒤에만 DROP을 실행한다.