type
status
date
slug
summary
tags
category
icon
password
오픈소스 데이터베이스 마이그레이션 도구
마이그레이션?
하나의 DB에서 다른 DB로 이관하는 행위
기본 제공 옵션
옵션 | 특징 |
Migrate | DB 변경 |
Baseline | 비어있지 않는 DB에 flyway 적용. |
Info | DB 변경 이력 출력 |
Repair | 마이그레이션 실패시 수행 전으로 복구하는 기능 |
Validate | 현 DB에 적용할 있는지 검사함 |
Undo | 최근에 적용된 Migration 파일을 적용 전 시점으로 되돌림 |
Clean | 연결된 데이터베이스를 모두 지움 |
버전 구조

새로 적용하려는 파일은 기존에 적용된 파일의 버전보다 높아야 함
DB 내 flyway 구조

- version: 항상 최근에 등록했던 버전 보다 숫자가 높아야 함
- checksum: 해시값. 적용된 마이그레이션 파일이 변경되면 오류를 출력, 수행되지 않음
설정
application.yml
왜 씀?
- 프로젝트에서는 local, 개발, 배포 환경의 DB가 다를 수 있음.
- Flyway는 런타임시 자동으로 실행되기 때문에 실수할 여지를 줄임
- 쉽게 DB별 환경을 다르게 가져갈 수 있음
- local과 개환경에서는 seed를 넣을 수 있고, 운영환경에서는 seed를 넣지 않을 수 있음