- 무중단 배포를 위해 롤링 업데이트를 수행하면, 위의 이미지에서 3번째 단계와 같이 이전 버전의 애플리케이션과 새로운 버전의 애플리케이션이 동시에 실행된다.
- 새로운 버전의 애플리케이션은 변경된 스키마를 기대하지만, 이전 버전은 기존 스키마에 의존한다.
- 이때 스키마 변경이 이전 버전과 호환되지 않으면 문제가 발생한다.
- 예를 들어, 새로운 마이그레이션에서 칼럼을 삭제하거나 타입을 변경한 경우, 이전 버전의 애플리케이션은 해당 컬럼에 접근하려고 시도할 때 오류가 발생한다.
해결 방안
- 엔터티에서 먼저 필드를 제거한다. 이 작업에 따른 애플리케이션의 로직을 수정해주고 푸쉬한다.
- 기존 버전을 대체할 때까지 기다린다.
- 해당 필드에 따른 컬럼을 제거해주는 flyway를 적용시켜 마이그레이션 하고, 푸쉬한다.
'Database > flyway' 카테고리의 다른 글
flyway-spring boot 연동 (0) | 2024.11.30 |
---|---|
Flyway 소개 (0) | 2024.11.30 |