Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/rdagumampan/yuniql
Browse files Browse the repository at this point in the history
  • Loading branch information
rdagumampan committed Feb 1, 2020
2 parents 70cf519 + 0afc189 commit 20b2d3c
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
<img align="right" src="assets/yuniql-logo.png" width="150">

**yuniql** (yuu-nee-kel) is a schema versioning and database migration tool for sql server and others. Versions are organized as series of ordinary directories or folders. Scripts are stored transparently as plain old `.sql` files. Yuniql simply automates what you would normally do by hand and executes scripts in an orderly and transactional fashion.
**yuniql** (yuu-nee-kel) is a database schema versioning and migration engine for SqlServer, PostgreSql and others. Versions are organized as series of ordinary directories or folders. Scripts are stored transparently as plain old `.sql` files. Yuniql automates what is normally done by hand and executes scripts in an orderly and transactional fashion.

Yuniql promotes and facilitates an end-to-end database DevOps discipline. From schema versioning, to fresh database provisioning and releases via continuous delivery pipeline tasks.
**yuniql** promotes and facilitates an end-to-end DB DevOps discipline. From schema versioning, to fresh database provisioning and releases via continuous delivery pipeline tasks.

<img align="center" src="https://github.com/rdagumampan/yuniql/raw/master/assets/wiki-evodb-01.png" width="700">

## 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. No special tool or language required.
- **It's raw SQL.** Yuniql follows database-first approach in versioning your database. Versions are normal directories or folders. Scripts are series of plain old .sql files. No special tool or language required.
- **It's .NET Core Native.** Released as a self-contained .NET Core 3.0 application. Yuniql doesn't require any dependencies or CLR installed on the developer machine or 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.
Expand Down Expand Up @@ -59,12 +59,12 @@ yuniql info --platform postgresql
```

## Working with Azure DevOps Pipelines Tasks
Run your database migration from Azure DevOps Pipelines. The tasks downloads package and cache it for later execution just like how `Use .NET Core` or `Use Node` tasks works. Find Yuniql on [Azure DevOps MarketPlace](https://marketplace.visualstudio.com/items?itemName=rdagumampan.yuniql-azdevops-extensions). Developer guide available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-Azure-Devops.
Run your database migration from Azure DevOps Pipelines. The tasks downloads package and cache it for later execution just like how `Use .NET Core` or `Use Node` tasks works. Find Yuniql on [Azure DevOps MarketPlace](https://marketplace.visualstudio.com/items?itemName=rdagumampan.yuniql-azdevops-extensions). Developer guide is available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-Azure-Devops.

<img align="center" src="https://github.com/rdagumampan/yuniql/raw/master/yuniql-azure-pipelines/images/screenshot-02.png" width="700">

## Working with Docker Container
Run your database migration thru a docker container. This is specially helpful on Linux environments and CI/CD pipelines running on Linux Agents as it facilitates your migration without having to worry any local installations or runtime dependencies. Developer guide available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-docker-container.
Run your database migration thru a Docker container. This is specially helpful on Linux environments and CI/CD pipelines running on Linux Agents as it facilitates your migration without having to worry any local installations or runtime dependencies. Developer guide is available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-docker-container.

```console
git clone https://github.com/rdagumampan/yuniql.git c:\temp\yuniql-docker
Expand All @@ -75,7 +75,7 @@ docker run sqlserver-example -c "<your-connection-string>" -a --platform sqlserv
```

## Working with ASP.NET Core
Run your database migration when your ASP.NET Core host service starts up. This ensures that database is always at latest compatible state before operating the service. Applies to Worker and WebApp projects. Developer guide available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-ASP.NET-Core.
Run your database migration when your ASP.NET Core host service starts up. This ensures that database is always at latest compatible state before operating the service. Applies to Worker and WebApp projects. Developer guide is available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-ASP.NET-Core.

```console
dotnet add package Yuniql.AspNetCore
Expand Down Expand Up @@ -103,7 +103,7 @@ app.UseYuniql(traceService, new YuniqlConfiguration
```

## Working with Console Application
Run your database migration when Console App starts. Developer guide available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-.NET-Core-Console-Application.
Run your database migration when Console App starts. Developer guide is available here https://github.com/rdagumampan/yuniql/wiki/How-to-run-migration-from-.NET-Core-Console-Application.

```console
dotnet add package Yuniql.Core
Expand Down Expand Up @@ -142,6 +142,7 @@ static void Main(string[] args)

* [How to bulk import data](https://github.com/rdagumampan/yuniql/wiki/How-to-bulk-import-data-during-migration)
* [How to replace tokens in script files](https://github.com/rdagumampan/yuniql/wiki/How-to-apply-token-replacement)
* [How to apply environment-aware scripts](https://github.com/rdagumampan/yuniql/wiki/Environment-aware-scripts)
* [How to version your database](https://github.com/rdagumampan/yuniql/wiki/How-to-baseline-your-database)
* [How yuniql works](https://github.com/rdagumampan/yuniql/wiki/How-yuniql-works)

Expand Down

0 comments on commit 20b2d3c

Please sign in to comment.