목록 보기
DDL이 코드 밖에서 온다면, 테스트 DB 구성을 빌드 안에 선언한다
백엔드

DDL이 코드 밖에서 온다면, 테스트 DB 구성을 빌드 안에 선언한다

flex
flex
2026년 7월 22일

두줄요약

Liquibase 기반 스키마를 테스트에서 다루기 위해, 테스트 DB 구성을 빌드의 variant로 선언하는 구조를 정리했습니다. 실제 마이그레이션 검증과 덤프 캐시를 함께 써서 정확성과 속도를 모두 확보했습니다.

핵심 내용

  • 스키마의 진실이 엔티티가 아니라 Liquibase changelog에 있는 환경에서, 테스트 DB 구성을 빌드에 선언해야 한다는 문제의식
  • 정적 schema.sql, 실제 Testcontainers+Liquibase 적용, 덤프 캐시와 전용 DB 격리를 거친 전환 과정
  • root 빌드의 testDatabase variant로 어떤 스키마 프로젝트를 어떤 엔진과 초기화로 세울지 명시하는 구조
  • 반복 재생 비용은 엔진 덤프를 빌드 캐시에 저장하고, 비결정 요소를 정규화해 결정성을 유지하는 방식

적용해볼 점

  • 테스트 DB의 조립 대상과 순서를 사람의 기억이 아니라 빌드 선언으로 드러내기
  • 실제 마이그레이션 경로 검증과 캐시 가능한 빠른 복원 경로를 분리해 설계하기
  • 멀티모듈 스키마 조합을 전용 데이터베이스 단위로 격리해 병렬 실행 안정성 높이기

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...