소개
Yuniql은 .NET Core로 제작된 무료 오픈소스 데이터베이스 마이그레이션 엔진입니다. Rodel E. Dagumampan이 개발했으며, SQL 스크립트와 CSV 대량 가져오기를 지원하여 데이터베이스 스키마 버전 관리를 자동화합니다. Windows 및 Linux에서 실행 가능하며, SQL Server, PostgreSQL, MySQL, MariaDB, Snowflake, Redshift, Oracle 등 다양한 데이터베이스를 지원합니다.
상세정보
SQL 스크립트 기반 마이그레이션
순수 SQL 스크립트를 작성하여 데이터베이스 스키마 변경 사항을 버전 관리할 수 있습니다. yuniql은 스크립트의 적용 여부를 추적하고, 누락되거나 중복된 마이그레이션을 방지합니다.
CSV 대량 데이터 가져오기
마스터 데이터를 CSV 파일로 준비하여 yuniql을 통해 데이터베이스 테이블에 대량으로 가져올 수 있습니다. 초기 데이터 seeding이나 참조 데이터 관리에 유용합니다.
다중 플랫폼 지원
SQL Server, PostgreSQL, MySQL, MariaDB, Snowflake, Redshift, Oracle 등 주요 데이터베이스를 지원합니다. 클라우드 환경(AWS, Azure, GCP)에서도 실행 가능하도록 설계되었습니다.
CI/CD 파이프라인 통합
Azure DevOps Pipelines, GitHub Actions, Docker 컨테이너 등 다양한 CI/CD 환경에서 yuniql을 실행할 수 있도록 공식 가이드와 확장이 제공됩니다.
다운로드·설치 방법
Windows 사용자는 Chocolatey를 통해 간편하게 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:
choco install yuniql
또는 .NET 전역 도구로 설치하려면:
dotnet tool install -g yuniql.cli
Docker를 선호하는 경우, 공식 이미지를 pull하여 사용할 수 있습니다:
docker pull yuniql/yuniql:win-x64-latest
최신 릴리즈 ZIP 파일은 GitHub releases 페이지에서 직접 다운로드할 수 있습니다.
기본 사용법
설치 후, 작업 공간을 준비하고 연결 문자열을 환경 변수로 설정합니다. 예를 들어 SQL Server를 사용하는 경우:
SETX YUNIQL_CONNECTION_STRING “Server=localhost,1400;Database=yuniqldb;User Id=SA;Password=P@ssw0rd!;TrustServerCertificate=True”
SETX YUNIQL_WORKSPACE “c:tempyuniql-clisamplesbasic-sqlserver-sample”
작업 공간에는 적용할 SQL 스크립트 파일을 배치합니다. 그 후 마이그레이션을 실행합니다:
yuniql run -a –platform sqlserver
적용된 마이그레이션 내역을 확인하려면:
yuniql list –platform sqlserver
이 명령은 적용된 스키마 버전, 적용 시간, 상태 등을 표 형태로 보여줍니다.
이런 경우에 유용합니다
개발 팀이 데이터베이스 스키마 변경을 버전 관리하고 싶을 때, yuniql을 사용하면 모든 개발자와 배포 환경에서 동일한 스키마 버전을 유지할 수 있습니다. 특히 CI/CD 파이프라인에 통합하여 자동으로 마이그레이션을 실행함으로써 수작업 오류를 줄이고 배포 프로세스를 안정화할 수 있습니다.
초기 데이터베이스 세팅이나 참조 데이터 관리가 필요한 경우, CSV 대량 가져오기 기능을 활용하면 JSON이나 XML 형식보다 간편하게 마스터 데이터를 테이블에 삽입할 수 있습니다.
지원 환경·시스템 요구사항
.NET 6 런타임이 필요합니다. Windows 10 이상 또는 Linux 배포판에서 실행 가능하며, Docker를 사용할 경우 컨테이너 런타임 환경이 필요합니다. 지원 데이터베이스는 각각의 공식 드라이버와 호환되는 버전이 필요합니다(예: SQL Server 2017 이상, PostgreSQL 9.6 이상 등).
최신 버전·업데이트
현재 최신 버전은 1.3.15이며, 2022년 5월에リリース되었습니다. 업데이트 내역은 GitHub 저장소의リリース 페이지에서 확인할 수 있습니다.
제한 사항·확인 사항
Oracle 및 SAP HANA 지원은 현재 프리뷰 또는 분석 단계에 있으며, 안정성 측면에서 생산 환경 사용 전 충분한 테스트가 권장됩니다. 클라우드 플랫폼 지원은 커뮤니티 피드백과 제한된 테스트를 기반으로 하며, Amazon RDS가 기본 클라우드 제공자로 사용됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


