我正在尝试按顺序运行一些脚本来创建和播种我的数据库。然而,第二个脚本似乎从未运行过。此外,我认为它正在运行第一个脚本两次。
public DatabaseFixture()
{
var connectionString = "Server=localhost;User Id = sa;Password=yourStrong(!)Password;Initial Catalog = master";
var createSchemaSqlScriptOptions = new SqlScriptOptions { ScriptType = ScriptType.RunAlways, RunGroupOrder = 1 };
var seedDataSqlScriptOptions = new SqlScriptOptions { ScriptType = ScriptType.RunAlways, RunGroupOrder = 2 };
var upgradeEngineBuilder = DeployChanges.To.SqlDatabase(connectionString, null)
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), script => script.Contains("0001"), createSchemaSqlScriptOptions)
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), script => script.Contains("0002"), createSchemaSqlScriptOptions)
.LogToConsole();
var upgrader = upgradeEngineBuilder.Build();
var result = upgrader.PerformUpgrade();
}另外,我所有的脚本都是嵌入式源代码,所以我不认为是这样的。

发布于 2020-02-24 14:19:13
Hi,您的代码在方法WithScriptsEmbeddedInAssembly中显示了一个object createSchemaSqlScriptOptions副本。
给它检查一下。

https://stackoverflow.com/questions/60266985
复制相似问题