0

我有一个已经发布到生产服务器的Web项目。在我的开发机器上,我对模型类进行了一些更改,并运行Update-Database而不运行Add-Migration。我试图EF代码优先 - 忘了运行“添加迁移”

Update-Database -TargetMigration:"201304020555457_previous_migration" 

,但我得到了

自动迁移的错误没有被应用,因为它会导致数据丢失。

如何回滚,以便我可以获得完整的SQL脚本以便在生产服务器上应用?

更新:

我刚刚发布的代码,在浏览器中启动页面,它的执行之后对数据库的修改(添加列)的完成。我不需要做任何事情。这是否意味着每次都不需要运行Add-Migration

回答

0

您可以撤消所做的更改,然后运行Update-Database。 然后再进行更改,这一次运行Add-迁移

0

如果你的初始化是MigrateDatabaseToLatestVersion和你的配置已经AutomaticMigrationsEnabled设置为true,那么它会更新你的数据库,而不需要迁移,如果可以。

如果您真的想要只能添加您想要修改的变更的迁移,您可以跳过添加简单列并添加迁移以重命名列。

但是,如果我在哪里,我会保持迁移完成,以避免问题进一步下降。