0

我有一个已经发布到生产服务器的 Web 项目。在我的开发机器上,我对模型类进行了一些更改,并且在没有运行的Update-Database情况下运行Add-Migration。我尝试过了

Update-Database -TargetMigration:"201304020555457_previous_migration"

但我得到了错误

未应用自动迁移,因为它会导致数据丢失。

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

更新:

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

4

2 回答 2

0

您可以撤消所做的更改,然后运行 ​​Update-Database。然后重新进行更改,这次运行 Add-Migration

于 2013-05-07T03:55:43.040 回答
0

如果您的初始化程序是MigrateDatabaseToLatestVersion并且您的配置将AutomaticMigrationsEnabled设置为 true,那么它将更新您的数据库而无需迁移(如果可以的话)。

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

但是,如果我在您所在的位置,我会保持迁移完整,以避免进一步出现问题。

于 2013-05-14T15:09:50.107 回答