Spring

Spring - flyway

빠빠담 2021. 8. 18. 01:18
반응형

Flyway

  • 데이터베이스를 위한 형상관리 툴
  • 데이터베이스에 대한 변화를 버전으로 관리하고 마이그레이션 해줌

스프링에 flyway를 적용해보자

 

build.gradle 디펜던시 추가

필자는 스프링 부트를 사용하고 있어 버전은 따로 입력하지 않았다

        implementation 'org.flywaydb:flyway-core

 

버전에 따른 sql 파일을 설정한다.

버전에 따른 sql 파일을 resources > db > migration 에 위치해준다.

https://flywaydb.org/documentation/concepts/migrations#syntax

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