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
728x90
'Project > Table_of_Organization_Management_System' 카테고리의 다른 글
ApiResponse 를 사용하자 (0) | 2022.06.16 |
---|---|
Jpa - QueryDsl 준비하기 (0) | 2022.06.15 |
NEXUS - 사용해보기 (0) | 2022.06.11 |
버전관리 project version - Semantic Versioning (0) | 2022.06.10 |
Gradle Multi-Module구성하기 (0) | 2022.04.30 |