새로운 개발자 도구 'db-git'이 깃(Git) 브랜치 전환 시 로컬 데이터베이스(DB) 상태를 자동으로 관리하여 개발자들의 고질적인 불편함을 해소합니다. 이 도구는 깃의 'post-checkout' 훅(hook)을 활용해 브랜치 전환 시 해당 브랜치에 맞는 DB 스키마, 시드(seed) 데이터, 실험적 기능 등의 상태를 자동으로 저장하고 복원해줍니다. 덕분에 개발자들은 브랜치 변경 후 수동으로 DB를 초기화하거나 마이그레이션하는 번거로움 없이 곧바로 코드 작업에 집중할 수 있게 됩니다.
db-git은 두 가지 주요 워크플로우를 제공합니다. '공유 모드(shared mode)'는 하나의 DB 이름을 사용하면서 브랜치별로 DB 스냅샷을 저장하고 복원하며, '브랜치별 모드(per-branch mode)'는 각 브랜치마다 별도의 DB를 생성하여 독립적으로 관리합니다. 현재 PostgreSQL을 지원하며, 빠른 DB 복제를 위한 '템플릿(template)' 전략과 이식성 높은 'pg_dump' 전략 중 선택할 수 있습니다. 사용자는 'db-git init' 명령으로 쉽게 설정할 수 있으며, 'db-git url' 명령으로 현재 브랜치에 맞는 DB 접속 URL을 바로 얻어 애플리케이션에 적용할 수 있습니다. 또한, 수동 저장, 복원, 생성, 초기화, 목록 확인 등 다양한 명령어를 지원하여 유연한 DB 관리가 가능합니다.
이 도구는 개발 과정에서 빈번하게 발생하는 DB 불일치 문제를 근본적으로 해결하여 개발 생산성을 크게 향상시킬 수 있습니다. 특히 여러 브랜치를 오가며 작업하거나, 동료의 코드를 리뷰할 때 DB 상태를 일치시키는 데 드는 시간과 노력을 절감해줍니다. 이는 개발자들이 DB 관리보다는 핵심 비즈니스 로직 구현에 더 많은 시간을 할애할 수 있도록 돕는다는 점에서 의미가 큽니다. 향후 더 많은 DB 엔진을 지원하게 되면, 다양한 개발 환경에서 필수적인 도구로 자리매김할 것으로 기대됩니다.