반응형
Flyway
- 데이터베이스를 위한 형상관리 툴
- 데이터베이스에 대한 변화를 버전으로 관리하고 마이그레이션 해줌
스프링에 flyway를 적용해보자
build.gradle 디펜던시 추가
필자는 스프링 부트를 사용하고 있어 버전은 따로 입력하지 않았다
implementation 'org.flywaydb:flyway-core
버전에 따른 sql 파일을 resources > db > migration 에 위치해준다.
sql 파일 네이밍은 위 주소의 문서에서 확인할것
drop table user if exists;
create table user (id bigint not null, name varchar(200), primary key (id));
테스트 용으로 위와같이 테이블 생성 쿼리를 V1__init.sql 로 만들어 주었다.
spring:
flyway:
baseline-on-migrate: true
baseline-version: 0
datasource:
url: jdbc:h2:tcp://localhost/~/workspace/h2
username: sa
application.yml 파일에는 위와같이 flyway 설정을 넣어주었다.
baseline-on-migrate: flyway_schema_history 히스토리 테이블 생성 여부
baseline-version: (기본값 1) 마이그레이션을 시작할 버전을 입력 받는다 나는 V1 의 파일을 마이그레이션 하려하기 때문에 0으로 설정하였다.
스프링부트를 시작하면 자동 설정값과 함께 마이그레이션이 된다.
반응형
'Spring' 카테고리의 다른 글
Spring - flyway (using RoutingDataSource) (0) | 2021.08.18 |
---|---|
QueryDsl with Lombok (0) | 2021.08.05 |
Zipkin - Docker MySQL (0) | 2021.07.25 |
Spring boot 2.5 이상 docker를 위한 unpack (0) | 2021.07.17 |
Mapstruct & Lombok 적용 (3) | 2021.04.16 |