컬럼 추가
먼저 NULL 허용 컬럼으로 추가해 기존 쓰기 경로를 깨지 않는다.
ADD column운영 테이블에 필수 컬럼을 바로 추가하면 기존 행 때문에 실패하거나 긴 락이 생긴다. NULL 허용에서 검증 완료까지 나눠야 한다.
먼저 NULL 허용 컬럼으로 추가해 기존 쓰기 경로를 깨지 않는다.
ADD column새 애플리케이션이 신규 행에 값을 쓰도록 배포한다.
이중 호환기존 행은 작은 단위로 업데이트하고 진행률을 기록한다.
chunk updateNULL 잔여 행과 변환 실패 행을 0으로 만든다.
개수 점검NOT NULL을 적용하고 이후 쓰기 계약을 문서화한다.
계약SELECT COUNT(*) AS missing_grade
FROM employees
WHERE grade IS NULL;
-- 결과가 0일 때 NOT NULL 적용을 검토한다