我正在为一个涉及数据库更改的项目开发一项新功能。该项目使用Entity Framework 6 Code First。
我结束了测试,当我意识到我缺少迁移(所有源文件.cs,.Designer.cs,.resx)时,我打算发布代码和数据库更改。
我无法确定它是如何发生的,但是我必须在运行Update-Database
后删除文件。
现在,当我在开发数据库上运行Get-Migrations
时,将得到如下列表:
//LastGoodMigration
//DeletedMigration => can this be recovered?
//AnotherMigration
//CurrentMigraton
从这种情况中恢复的正确方法是什么?
答案 0 :(得分:0)
我找到了解决方案,我毕竟还是很傻。
我错误地专注于“恢复”丢失的迁移文件的任务,忘记了当前数据库状态毕竟是由当前实体类决定的事实。
所以我发出了以下命令:
Update-Database -TargetMigration LastGoodMigration -Force
然后,我删除了以下所有迁移文件,并通过简单的方法重新搭建了一个新的单一迁移:
Add-Migration NewAllIncludingMigration
抱歉,这个愚蠢的问题。