Master data and lookup tables almost comes natural as part of every database provisioning process. To support this, you may prepare a series of CSV files in the version directory. When you call yuniql run
, yuniql will discovers the CSV files and bulk load into tables bearing same name as the CSV file. The following example demonstrates how to do this.
Install Yuniql CLI https://yuniql.io/docs/install-yuniql/.
choco install yuniql
Initialize local version
yuniql init
yuniql vnext
Create script file setup_tables.sql
on v0.01
.
CREATE TABLE Visitor (
VisitorID INT IDENTITY(1000,1),
FirstName NVARCHAR(255),
LastName VARCHAR(255),
Address NVARCHAR(255),
Email NVARCHAR(255)
);
Create a Visitor.csv
on version v0.01
. If your target table has an schema, you can name the file with schem name such as Registration.Visitor
where Registration is a schema.
"VisitorID","FirstName","LastName","Address","Email"
"1000","Jack","Poole","Manila","[email protected]"
"1001","Diana","Churchill","Makati","[email protected]"
"1002","Rebecca","Lyman","Rizal","[email protected]"
"1003","Sam","Macdonald","Batangas","[email protected]"
"1004","Matt","Paige","Laguna","[email protected]"
NOTE: The file name of the CSV file must match the destination table else an exception is thrown.
Run migration
yuniql run -a -c "<your-connection-string>"
INF 2019-10-22T18:36:08.7621330Z Executed script file C:\temp\yuniql-nightly\v0.01\setup-tables.sql.
INF 2019-10-22T18:36:08.7638901Z Found the 1 csv files on C:\temp\yuniql-nightly\v0.01
INF 2019-10-22T18:36:08.7649367Z Visitor.csv
INF 2019-10-22T18:36:09.0854032Z Imported csv file C:\temp\yuniql-nightly\v0.01\Visitor.csv.
Verify if all is good
SELECT * FROM [dbo].[Visitor]
A working sample is available here for your reference https://github.com/rdagumampan/yuniql/tree/master/samples/sqlserver-all-features-sample/v0.00
Learn further
- Migrate via ASP.NET Core
- Migrate via Azure DevOps
- Migrate via Docker Container
- Migrate via Console Application
- Use Token Replacement
- Environment-aware Migration
Found bugs?
Help us improve further please create an issue.