-
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 빌드 소스 확인 가능