db - MySQL DB내용을 버전콘트롤하는 오픈소스
(github.com)특정시점의 DB를 스냅샷떠서 저장 및 복구 지원하는 CLI 도구. 커밋메시지를 기록해서 버전간에 쉽게 이동가능. 여러개의 DB(로컬,스테이징,프로덕션)간에 내용을 복사하거나 하는것을 편하게 할 수 있음. mysqldump를 마치 git처럼 쓰기 편하게 만든 것.
기존에 많은 도구들이 스키마를 저장/마이그레이션 하는거에 중점을 뒀는데, 이건 MySQL 자체 커맨드를 사용해서 데이터 덤프해서 저장하고 복원하는 것을 편하게 만들었네요.
기존의 스키마 이관 도구들
- https://github.com/flyway/flyway
- https://github.com/sqitchers/sqitch
- https://github.com/amacneil/dbmate
- https://github.com/liquibase/liquibase
구현을 살펴보니 /drivers/mysql/connectors/ 에 있는 것만 수정하면 postgres 용으로도 변경은 가능할듯 싶습니다.