Sqldef: MySQL, PostgreSQL, SQLite용 멱등적 스키마 관리 도구

3 hours ago 2

  • SQL 스키마 간 차이(diff) 를 비교해 데이터베이스 마이그레이션을 관리하는 CLI 기반 도구
  • 일반적인 SQL DDL 문법을 사용해 RDBMS 스키마를 관리할 수 있음
  • MySQL, MariaDB, TiDB, PostgreSQL, SQL Server, SQLite3 등 주요 데이터베이스를 지원
  • 웹사이트에서는 WebAssembly 빌드를 활용한 온라인 데모를 통해 스키마 비교 및 DDL 생성 기능을 체험 가능
  • 데이터베이스 변경 작업을 멱등적(idempotent) 으로 관리할 수 있어, 안정적인 스키마 동기화에 유용함

sqldef 개요

  • sqldef는 두 개의 SQL 스키마를 비교(diff)해 차이를 분석하고, 이를 기반으로 DDL 명령문을 생성하는 CLI 도구
    • 사용자는 기존 스키마와 목표 스키마를 비교해 필요한 변경 사항을 자동으로 도출 가능
    • 일반적인 SQL DDL 구문을 그대로 사용해 마이그레이션을 수행할 수 있음
  • 지원 데이터베이스는 MySQL, MariaDB, TiDB, PostgreSQL, SQL Server, SQLite3로 명시됨

온라인 데모 기능

  • 웹사이트에는 Online Demo가 제공되어, 스키마 변경을 시각적으로 확인 가능
    • “Enable DROP” 옵션을 통해 삭제 명령 포함 여부를 제어할 수 있음
    • “Up (current → desired)” 섹션에서는 새 컬럼 추가, 인덱스 생성, 제약조건 추가 등의 예시 DDL을 표시
    • “Down (desired → current)” 섹션에서는 제약조건 삭제 등의 역방향 변경 예시를 제공

작동 방식

  • 온라인 데모는 sqldef의 WebAssembly 빌드를 사용해 브라우저 내에서 SQL 스키마 비교(diff)를 수행
    • 두 스키마 간 차이를 계산하고, 그 결과로 필요한 DDL 명령문을 자동 생성
    • GitHub 저장소 링크를 통해 WebAssembly 빌드 소스 확인 가능

Read Entire Article