데이터베이스 형상관리 툴 도입에 대해 #287
Closed
Choi-JJunho
started this conversation in
개발 논의
Replies: 3 comments
-
좋아요! 마이그레이션 전략을 운영 서버에는 사용하지 못할 수도 있지만, 개발 서버가 있기 때문에 필요한 기능이라고 생각해요 ㅎㅎ Flaway가 개인적으로 끌리는 것 같습니당 |
Beta Was this translation helpful? Give feedback.
0 replies
-
일단 툴을 도입하는 부분은 찬성입니다! 앞으로도 DB 변경 사항이 있을 수 있기 때문에 여러 부분에서 지금 도입 하면 좋을 것 같네요. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
현재 로그인 기능을 구현하는 과정에서 Member Entity의 변화가 생겼습니다.
이 작업에 따라 DB 컬럼이 변해야한다는 요구사항이 발생했습니다.
지금까지는 DB 컬럼의 변경사항이 없었기 때문에 위와 같은 요구사항애 대응할 일이 없었지만 해당 문제를 직면하면서 한번 생각해 볼 시간이 온 것 같습니다.
위 문제를 해결하기 위해 두가지 조치 방안이 생각나서 여러분들의 의견이 듣고싶습니다.
장점
단점
1번 작업을 수행할 시 발생할 수 있는 문제점을 보완하기 위해 DB 형상관리 툴의 도입을 생각해볼 수 있습니다.
데이터베이스 형상관리 툴을 적용한다.
DB 형상관리 툴은 쉽게 설명하자면 DB의 git 같은 툴입니다.
DB 형상관리 툴을 도입하기에 앞서 크게 두가지 툴을 고려해볼 수 있습니다.
바로 Flyway와 Liquibase입니다.
두 툴 모두 데이터베이스 형상관리 기능을 제공합니다.
도입 과정에서 다음과 같은 차이점을 고려할 수 있습니다.
변경 내역 정의방식
Flayway는 변경사항을 SQL로 관리합니다.
Liquibase는 변경사항을 xml, yaml, json, SQL 등으로 관리할 수 있습니다.
파일 명 규칙
Flyway는 파일 명을 작성하는 데 규칙이 있습니다.
Liquibase는 파일 명 규칙이없습니다.
하나의 master changelog 파일로부터 버전 관리가 진행됩니다.
변경사항 저장
두 툴 모두 배포된 변경사항을 별도의 테이블에 저장합니다.
flyway -
flyway_schema_history
liquibase -
databasechangelog
변경사항 롤백
flyway는 U로 시작하는 파일 이름으로 실행 취소를 제공합니다.
liquibase는 유료기능으로 롤백 기능을 제공합니다.
자세한 내용은 baeldung - liquibase vs flyway 문서를 참고해주세요
정리
위와같은 점들을 미루어 보았을 때 저는 개인적으로 무료 기준으로 Flyway를 사용하는 편이 더 많은 기능을 제공받을 수 있다고 생각합니다.
여러분들의 의견이 궁금합니다
Beta Was this translation helpful? Give feedback.
All reactions