我遇到了一个无法通过网络找到答案的问题。
我正在使用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.
任何想法如何生成降级脚本?
感谢。
答案 0 :(得分:12)
看起来迁移API期望您只想从“上一版本”进行降级。
如果BlogLimitsAndTableRename
是您最近的迁移(最后一次迁移),您只需运行:
Update-Database -Script -TargetMigration:"201205161144187_AddPostAbstract"
如果不是您上次迁移,则需要先将开发数据库还原到它:
Update-Database -TargetMigration:"201205161203310_BlogLimitsAndTableRename"
现在您应该能够使用第一个命令来获取脚本。