type
status
date
slug
summary
tags
category
icon
password
오픈소스 데이터베이스 마이그레이션 도구
 

마이그레이션?

하나의 DB에서 다른 DB로 이관하는 행위
 

기본 제공 옵션

옵션
특징
Migrate
DB 변경
Baseline
비어있지 않는 DB에 flyway 적용.
Info
DB 변경 이력 출력
Repair
마이그레이션 실패시 수행 전으로 복구하는 기능
Validate
현 DB에 적용할 있는지 검사함
Undo
최근에 적용된 Migration 파일을 적용 전 시점으로 되돌림
Clean
연결된 데이터베이스를 모두 지움
 

버전 구조

notion image
 
새로 적용하려는 파일은 기존에 적용된 파일의 버전보다 높아야 함

DB 내 flyway 구조

notion image
  • version: 항상 최근에 등록했던 버전 보다 숫자가 높아야 함
  • checksum: 해시값. 적용된 마이그레이션 파일이 변경되면 오류를 출력, 수행되지 않음
 

설정

application.yml
 

왜 씀?

  • 프로젝트에서는 local, 개발, 배포 환경의 DB가 다를 수 있음.
  • Flyway는 런타임시 자동으로 실행되기 때문에 실수할 여지를 줄임
  • 쉽게 DB별 환경을 다르게 가져갈 수 있음
  • local과 개환경에서는 seed를 넣을 수 있고, 운영환경에서는 seed를 넣지 않을 수 있음
 
Mybatis Dynamic SQLLombok에 대해
Loading...