본문 바로가기

Project/Table_of_Organization_Management_System

Flyway 사용해보기

728x90

flyway는 데이터베이스의 형상관리를 목적으로 사용한다.

 

 

마이그레이션 파일

flyway에서는 데이터베이스에 일어나는 모든 행위를 마이그레이션(migration) 이라고 표현합니다.

마이그레이션은 파일로 관리되어 지고, 파일의 이름은 지정하는 규칙은 아래와 같습니다.

  • Prefix: V, U, R 중 하나를 입력하게 됩니다. V는 Verion, U는 undo, R은 Repeatable 입니다.
  • Version: 버전 정보입니다. 정수, 소수, 날짜 등이 가능합니다.
  • Seperator: __ ( underscore 2개를 이용합니다. )
  • Description: 추가되는 설명입니다. _ (underscore)가 space를 대신합니다.

위 규칙으로 파일을 만들면 아래와 같이 만들 수 있습니다.

예)

V0__create_table_user.sql
V1.1__create_table_game.sql
V20210909__create_table_screenshot.sql

 

예시

 

gradle로 flyway 마이그레이션 수행 - build.gradle flyway 플러그인 내용 추가

 

build.gradle

plugins {
    id 'org.flywaydb.flyway' version '7.12.0'
}

...

dependencies {
    implementation('org.flywaydb:flyway-core:7.12.0')
	...
}

flyway {
    url = 'jdbc:mariadb://localhost:3306/blog'
    user = 'root'
    password = 'root'
    locations = ["filesystem:${file('src/migration/blog').absolutePath}"]  // 'src/migration/blog'
    encoding = 'UTF-8'
    outOfOrder = true // Other branch use different dateName file
    validateOnMigrate = true
}

 

 

flyway 실행

./gradlew flywayClean flywayBaseline flywayMigrate

 

 

참고 블로그 1

728x90