Skip to content
Rodel E. Dagumampan edited this page Feb 13, 2020 · 62 revisions

Our WIKI serve as documentation for using Yuniql. If you find outdated content, inaccurate piece or would like us to create a topic or tutorial, please let us know by creating an issue.

Yuniql is a schema versioning and database migration engine for SQL Server, PostgreSql, MySql and others. Yuniql promotes and facilitates an end-to-end database DevOps discipline. From schema versioning, fresh database provisioning and to continuous delivery pipeline tasks.

Image inspired by Evolutionary Database Design by Martin Fowler and Pramod Sadalage.

Why yuniql?

  • It's raw SQL. Yuniql follows database-first approach to version your database. Versions are normal directories or folders. Scripts are series of plain old .sql files. You just need basic knowledge of SQL to get started.
  • It's .NET Core Native. Released as a self-contained .NET Core 3.0 application. Yuniql doesn't require any runtime dependencies or CLR installed on the developer machine and CI/CD server. For windows, yuniql.exe is ready-for-use on day 1.
  • Bulk Import CSV. Load up your master data and lookup tables from CSV files. A powerful feature when provisioning fresh developer databases or when taking large block of master data as part of a new version.
  • DevOps Friendly. Azure Pipeline Tasks available in the Market Place. Use Yuniql task acquires a specific version of the Yuniql. Run Yuniql task runs database migrations with Yuniql CLI using version acquired earlier.
  • Cloud Ready. Platform tested for Azure SQL Database. Plugins for Amazon RDS and Google Cloud SQL are lined up for development. ***
  • Docker Support. Each project is prepared for containerized execution using Yuniql base images. A dockerized database project is a practical way to run migration on any CI/CD platform.
  • Cross-platform. Works with Windows and major Linux distros.
  • Open Source. Released under Apache License version 2.0. Absolutely free for personal or commercial use.

*** planned or being evaluated/developer/tested

Found bugs?

Help us improve further please create an issue.