5

我正在尝试生成一个完整的 SQL 脚本来首次部署我的应用程序。我知道包管理器控制台中的这个命令应该创建一个完整的 SQL 脚本(参见这个 SO question

Update-Database -Script -SourceMigration:0 

我还读过它$InitialDatabase应该用于源迁移而不是“0”。

但是,我的迁移文件夹中有两个配置。我正在使用以下语法:

Update-Database -Script -SourceMigration:0 -ConfigurationTypeName MyConfig

我正在为我的所有配置取回一个空脚本。

请注意,我启用了自动迁移,并且没有添加任何显式迁移。

4

1 回答 1

1

在同一个命名空间中有两个迁移配置是不受支持的方案。我们最近关闭了一个类似于“设计”的错误。解决方法是将您的迁移配置放在单独的命名空间中。

这个问题最可靠的解决方案就是将你的配置放在不同的文件夹中,并使用如下所示的 MigrationsDirectory 变量,然后为配置生成的任何显式迁移都应该放在同一个文件夹中

    internal sealed class Configuration : DbMigrationsConfiguration<TestMultipleMigrationsScript.BlogContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
        MigrationsDirectory = @"directory";
    }

}
于 2013-10-29T21:54:47.127 回答