Spring JPA와 Flyway를 이용한 DB 마이그레이션 관리
Flyway란?Flyway는 데이터베이스 스키마 버전 관리 도구입니다. 애플리케이션 코드와 마찬가지로 DB 스키마 변경 이력(마이그레이션)을 버전으로 관리할 수 있게 해줍니다. Spring Boot + JPA 환경에서 Flyway를 사용하면 다음과 같은 이점을 얻을 수 있습니다. 팀 협업 시 DB 스키마 변경 이력을 코드로 공유 배포 환경(dev/staging/prod)마다 스키마 일관성 보장 롤백 전략 수립 가능 spring.jpa.hibernate.ddl-auto=create 대신 안전한 마이그레이션 적용 의존성 추가Gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.flywaydb:flyway-core' // MySQL 사용 시 추가 (Flyway 10+부터 DB별 모듈 분리) implementation 'org.flywaydb:flyway-mysql' runtimeOnly 'com.mysql:mysql-connector-j'} Maven<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId></dependency><dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-mysql</artifactId></dependency>