EF 4.3迁移 - 如何产生一个降级脚本?(EF 4.3 Migration - how to p

2019-06-25 03:48发布

我有我不能为整个网络上找到答案的问题。

我使用CodeFirst EF 4.3.1迁移与MSSQL。

我增加了一些迁移,现在我想产生两个之间的迁移升级/降级的脚本。

对于升级我运行下面的命令,它成功地再现了升级脚本:

PM> Update-Database -Script -SourceMigration:"201205161144187_AddPostAbstract" -TargetMigration:"201205161203310_BlogLimitsAndTableRename"

然而,对于降级我运行下面的命令,该命令失败,出现以下错误:

PM> Update-Database -Script -SourceMigration:"201205161203310_BlogLimitsAndTableRename" -TargetMigration:"201205161144187_AddPostAbstract"
Scripting the downgrade between two specified migrations is not supported.

任何想法如何,我可以生成一个脚本降级?

谢谢。

Answer 1:

它看起来像迁移API预计要只能从“最后一版”做降级。

如果BlogLimitsAndTableRename是最近的迁移(最后应用),你可以简单地运行:

Update-Database -Script -TargetMigration:"201205161144187_AddPostAbstract"

如果不是你最后的迁移,你需要先恢复开发数据库吧:

Update-Database -TargetMigration:"201205161203310_BlogLimitsAndTableRename"

现在你应该能够使用的第一个命令,以得到一个脚本。



文章来源: EF 4.3 Migration - how to produce a downgrade script?