피드로 돌아가기
Deploy to PostgreSQL with drm-cli + Liquibase: A Step-by-Step Guide
Dev.toDev.to
Database

drm-cli와 Liquibase 조합을 통한 Database Schema 배포 자동화 및 안정성 확보

Deploy to PostgreSQL with drm-cli + Liquibase: A Step-by-Step Guide

dband drm2026년 4월 22일2intermediate

Context

네트워크 장애나 잘못된 Changeset으로 인한 Database 배포 실패 시 데이터베이스 상태 불일치 발생 가능성 상존. 특히 Liquibase의 부분 실행으로 인한 Lock Table 정합성 파괴 문제 해결 필요.

Technical Solution

  • Release History 기록을 통한 배포 실패 지점 추적 및 상태 관리 체계 구축
  • drm deploy --retry 명령어를 통한 기적용 Changeset 제외 및 중단 지점부터 재시작하는 Idempotency 구현
  • Retry 전 Lock Table의 자동 Cleanup 프로세스를 통한 Liquibase 잠금 상태 해소 및 일관성 확보
  • drm.yaml 설정 파일 기반의 다중 환경(Staging, Production) 및 이기종 DB(PostgreSQL, SQL Server) 통합 타겟팅 설계
  • Liquibase의 Changeset 추적 기능과 drm-cli의 Release-level Audit 기능을 분리하여 책임 계층 구조화

1. DB 배포 도구 선정 시 Partial Run 발생 후 Lock Table 자동 해제 기능 포함 여부 확인

2. 다중 환경 배포 시 동일 Release Version 하에 이력 통합 관리 구조 검토

3. Schema 변경 이력(DATABASECHANGELOG)과 배포 감사 이력(Release Audit)의 관심사 분리 적용

원문 읽기