我正在尝试生成一个完整的SQL脚本来首次部署我的应用程序。我知道包管理器控制台中的这个命令应该创建一个完整的SQL脚本(参见this SO question)
Update-Database -Script -SourceMigration:0
我还读到$InitialDatabase
应该用于源迁移而不是'0'。
但是,我的迁移文件夹中有两个配置。我正在使用以下语法:
Update-Database -Script -SourceMigration:0 -ConfigurationTypeName MyConfig
我正在为我的所有配置找回一个空脚本。
请注意,我已启用自动迁移,但未向其添加任何显式迁移。
答案 0 :(得分:1)
在同一命名空间中具有两个迁移配置是不受支持的方案。我们最近关闭a bug similar to this为“按设计”。解决方法是将迁移配置放在不同的命名空间中。
此问题最可靠的解决方案是将您的配置放在不同的文件夹中并使用MigrationsDirectory变量,如下所示,然后为配置生成的任何显式迁移都应放在同一个文件夹中
internal sealed class Configuration : DbMigrationsConfiguration<TestMultipleMigrationsScript.BlogContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
MigrationsDirectory = @"directory";
}
}