Programming/Database

Flyway에 대해 알아보자: 오픈소스 DB migration 툴

리버김 2023. 7. 11.
DB migration 툴 Flyway에 대해 알아보자. DB migration이라고 하면 싸피에서 처음으로 Django를 배웠을 때 model의 내용을 연결한 DB(당시에는 sqlite)에 적용시켰던 게 기억난다. Flyway도 그러한 DB migration을 해주는 도구다. 하지만 어떤 특정 프레임워크에 의존적이지 않은 '오픈 소스' 툴이다.

Flyway를 사용하는 이유

  • 이미 배포된 서비스의 DB가 있다. 스키마도 복잡하고 사용자 데이터도 많이 쌓인 상태다. 이 상태에서 model(entity)에 변화가 생긴다면 어떻게 적용해야 할까? DB에 직접 접속해서 매뉴얼하게 명령어를 칠 수도 있지만, Flyway를 적용하면 로컬에서 변경 사항을 적용하면 알아서 관리해준다. 휴먼 에러를 방지하기 위한 목적이 큰 것이다.
  • 또한 형상 관리의 의미가 있기 때문에 어떤 변경 사항이 있었는지 파악하기도 쉽다.(like git)
  • 재택근무를 할 때 좋다. 각자의 로컬 DB의 내용이 달라도 Flyway로 일치시킬 수 있다.

사용법

  • DB 접속 정보를 Flyway의 설정 파일에 기록하여 접근 가능하도록 한다.
  • flyway 명령어를 통해 수정된 model의 내용을 migration한다.
  • gradle, maven, CLI, JAVA API 등으로 실행할 수 있다.
  • *의존성 및 애플리케이션 설정의 경우 서버 프레임워크에 따라 각기 다르기 때문에 내가 사용하려는 프레임워크에 따라 찾아보고 적용하는 것이 좋다.

 

 

 

ref

https://tecoble.techcourse.co.kr/post/2021-10-23-flyway/

 

Flyway

깃-들다 프로젝트를 진행하며 DB 형상관리를 위해 Flyway를 도입했다. 여기서 와 가 무엇일까? 이번 글에서 한번 알아보자.

tecoble.techcourse.co.kr

https://sabarada.tistory.com/193

 

[flyway] flyway를 통해 DDL 형상관리를 하자 - Spring Boot (Java API) 편

안녕하세요. 오늘은 flyway를 이용하여 로컬 환경에서 DDL의 형상관리를 하는 방법을 알아보도록 하겠습니다. flyway flyway는 데이터베이스의 형상관리를 목적으로 하는 툴입니다. 데이터베이스의

sabarada.tistory.com

https://dallog.github.io/dallog-flyway/

 

달록의 데이터베이스 마이그레이션을 위한 Flyway 적용기

Flyway 란? Flyway는 오픈소스 데이터베이스 마이그레이션 툴 입니다. 데이터베이스 마이그레이션 툴이란 데이터베이스의 변경 사항을 추적하고, 업데이트나 롤백을 보다 쉽게 할 수 있도록 도와주

dallog.github.io

 

반응형

'Programming > Database' 카테고리의 다른 글

DBeaver란? + PostgreSQL과 연결하기  (0) 2023.01.09
PostgreSQL이란?  (0) 2022.12.22

댓글