是否可以恢复意外删除的EF迁移?

时间:2019-08-20 08:58:05

标签: .net visual-studio-2015 entity-framework-6

我正在为一个涉及数据库更改的项目开发一项新功能。该项目使用Entity Framework 6 Code First。

我结束了测试,当我意识到我缺少迁移(所有源文件.cs,.Designer.cs,.resx)时,我打算发布代码和数据库更改。

我无法确定它是如何发生的,但是我必须在运行Update-Database后删除文件。

现在,当我在开发数据库上运行Get-Migrations时,将得到如下列表:

//LastGoodMigration
//DeletedMigration => can this be recovered?
//AnotherMigration
//CurrentMigraton

从这种情况中恢复的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我毕竟还是很傻。

我错误地专注于“恢复”丢失的迁移文件的任务,忘记了当前数据库状态毕竟是由当前实体类决定的事实。

所以我发出了以下命令:

Update-Database -TargetMigration LastGoodMigration -Force

然后,我删除了以下所有迁移文件,并通过简单的方法重新搭建了一个新的单一迁移:

Add-Migration NewAllIncludingMigration

抱歉,这个愚蠢的问题。