DB 스키마를 관리하자

DB|2018. 12. 20. 14:12

제품 혹은 프로젝트를 진행할때 계속 테이블 스키마가 변경되거나

샘플 데이터가 변경되는 경우들이 있다.


보통 SQL 파일을 소스들과 함께 git에 버전 관리를 하고 있는데


실제 적용된 제품 버전이야 Version.class 라거나 커맨드를 통해 버전을 확인하면 되지만

DB에 어떤 버전까지 적용되어 있는지는 파악하기 어려울때가 있다.


그리고 git에는 최신 sql만을 관리해왔기 때문에 각 버전마다 어떤 스키마들이 변경되었는지

현재 버전에서 최신자로 적용시 어떤 어떤 컬럼들이 변경되었는지는


git 히스토리들을 하나 하나 파악해야하는 귀찮음이 존재했다

(서버가 여러개면 덤으로.. 버전마다 alter문을 만들어야하는....)


그래서 스키마를 관리해주는 툴이 없을까 싶어 살펴보니

데이터베이스 형상관리 툴이라는 이름의 두가지가 spring boot starter에 포함 되어있었다

(spring boot와 연동하여도 사용하고 cmd로 직접도 사용할 예정..)


flyway(https://flywaydb.org/)

liquibase(https://www.liquibase.org)


다음 글에서는 flyway


그리고 그 다음에는 liquibase


마지막으로는 각각 비교를 해볼까 한다.

(잠깐 사용해봤을때는 liquibase 가 더 좋아보인다..)

'DB' 카테고리의 다른 글

[DB] 기초부터다시, ACID, CAP  (0) 2020.09.14
GraphQL 끄적끄적  (0) 2020.08.20
기초부터다시, 조인  (0) 2020.08.18
[MongoDB] 해킹된 후 보안 설정 관련  (0) 2019.12.23
[MyBatis] MyBatis 문법 파서  (0) 2019.05.29

댓글()