본문 바로가기
개발/Spring

[Springboot] DB migration Tool / Flyway 설정 방법

by Allonsy 2022. 1. 19.
반응형

1. build.gradle에 flyway 의존성 추가

implementation 'org.flywaydb:flyway-core'

2. 스크립트 경로 생성

1) src/main/resources/db/migration

Flyway는 기본적으로 classpath:db/migration 경로에서 스크립트를 읽어온다

 

2) 하나 이상의 경로에서 읽어오려면 ,(comma)를 이용해서 application.yml에 설정

spring:
  flyway:
    locations: "classpath:db/migration,filesystem:/opt/migration"

3) 특정 데이터베이스 유형에 따라 경로를 사용 가능

지원되는 데이터베이스 목록은 DatabaseDriver에서 확인 가능

spring:
  flyway:
    locations: "classpath:db/migration/{vendor}"

ex. db/migration/mysql

 

3. 스크립트 파일 생성 및 작성

스크립트 파일이름은 아래 양식을 따른다

V<VERSION>__<NAME>.sql

ex. V1.0__init_schema.sql

 

<주의>

데이터베이스에 변경 사항이 있어서 스크립트를 추가해야할 경우 버전을 올려서 작성해야한다.

같은 버전이 있을 경우 에러가 난다

 

4. 애플리케이션 실행 시 스크립트가 반영되면서 flyway 이력 관리 테이블(flyway_schema_history)에 이력이 기록된다

 

[참고]

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.data-initialization.migration-tool

 

Spring Boot Reference Documentation

This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe

docs.spring.io

 

반응형

댓글