一般的建议是我应该总是测试我的数据库迁移,但是如何做到这似乎是一个保密的秘密;)
我选择的框架是FluentMigration。
我认为我想做的是:
但我无法弄清楚如何从我的单元测试中运行迁移。
答案 0 :(得分:2)
要在集成测试中启动迁移,只需使用Process.Start
发送到migrate.exe命令例如
var migrator = System.Diagnostics.Process.Start("migrator.exe", "/connection \"Data Source=db\\db.sqlite;Version=3;\" /db sqlite /target your.migrations.dll");
migrator.WaitForExit();
如果您正在使用MSTest,则必须确保将migrator.exe作为部署项包含在内,或者指定启动该过程时.exe所在的路径。