Flyway 로 DataBase 형상 관리해보자
git 으로 source code 를 관리할수 있는건 누구나 다 아는 사실. 하지만 db는 할수 없다. 이 처럼 db의 형상관리를 할수 는 녀석이 바로 Flyway 다 .
공식사이트에 기재되어 있는 flyway 작동방식을 설명해주는 많이 보았을 이미지 이다.
flyway를 잘 사용하면 이렇게 Axel 과 Christian 라는 개발자 각자 필요한 DDL 을 만들고 배포할수 잇다. 공식사이트 소개를 예로 들자면 gradle, maven, CLI, java api 를 통하여 flyway 를 실행할수 있다고 하는데 이글에서 springboot 으로 실행하는 방법을 알아보자.
pom.xml dependency 추가
src/main/resources 폴더에 db 폴더 ,그리고 그안에 migration 폴더를 만든다.
migration 폴더에 V1__Base_version.sql 파일을 생성
User 객체 생성
Interface 작성
테스트 코드 작성
테스트 코드 실행 결과

디비테이블 확인 2개 추가 된걸 확인 할수 있다.

user 현재 테이블
flyway_schema_history : flyway가 관리하고 있는 테이블. 해당 테이블에 수행된 .sql 스크립트 내역들을 기재하고 있다.
위 내용을 이서 진행해보자.
만일 특정 개발자가 address 라는 컬럼을 테이블에 추가했다면 어떻게 될까?
다시 테스트 코드를 돌리면 아래와 같은 수행완료 로그를 볼수 있다.
테이블을 확인해보자

마찬가리로 history 테이블에도 아래와 같이 내역이 추가되었다.

Last updated
