• 무중단 배포를 위해 롤링 업데이트를 수행하면, 위의 이미지에서 3번째 단계와 같이 이전 버전의 애플리케이션과 새로운 버전의 애플리케이션이 동시에 실행된다.
  • 새로운 버전의 애플리케이션은 변경된 스키마를 기대하지만, 이전 버전은 기존 스키마에 의존한다.
  • 이때 스키마 변경이 이전 버전과 호환되지 않으면 문제가 발생한다.
  • 예를 들어, 새로운 마이그레이션에서 칼럼을 삭제하거나 타입을 변경한 경우, 이전 버전의 애플리케이션은 해당 컬럼에 접근하려고 시도할 때 오류가 발생한다.

해결 방안

  1. 엔터티에서 먼저 필드를 제거한다. 이 작업에 따른 애플리케이션의 로직을 수정해주고 푸쉬한다.
  2. 기존 버전을 대체할 때까지 기다린다.
  3. 해당 필드에 따른 컬럼을 제거해주는 flyway를 적용시켜 마이그레이션 하고, 푸쉬한다.

'Database > flyway' 카테고리의 다른 글

flyway-spring boot 연동  (0) 2024.11.30
Flyway 소개  (0) 2024.11.30

+ Recent posts