我有一个已经发布到生产服务器的Web项目。在我的开发机器上,我对模型类进行了一些更改,并在没有运行Update-Database
的情况下运行Add-Migration
。我试着
Update-Database -TargetMigration:"201304020555457_previous_migration"
但是我得到了错误
未应用自动迁移,因为它会导致数据丢失。
如何回滚以便我可以获得在生产服务器上应用的完整SQL脚本?
更新
我刚刚发布了代码,在浏览器中启动了页面,并且数据库更改(添加列)在执行后完成。我不需要做任何事情。这是否意味着每次都不必运行Add-Migration
?
答案 0 :(得分:0)
您可以撤消所做的更改,然后运行Update-Database。 然后重新进行更改,这次运行Add-Migration
答案 1 :(得分:0)
如果您的初始化程序是 MigrateDatabaseToLatestVersion ,并且您的配置已将 AutomaticMigrationsEnabled 设置为true,那么它将更新您的数据库而无需迁移(如果可以)。
如果您真的希望只能为您真正想要记录或想要修改的更改添加迁移,则可以跳过添加简单列并添加迁移以重命名列。例如。
但如果我在哪里,我会继续完成迁移,以避免问题进一步发生。