EF 4.3 Migration - how to produce a downgrade script?

吃可爱长大的小学妹 提交于 2019-12-21 07:37:49

问题


I have an issue which I could not find answer for across the web.

I am using CodeFirst EF 4.3.1 Migrations with MsSQL.

I have added several migrations and now I want to produce a script for upgrade/downgrade between two migrations.

For upgrade I run the following command which successfully reproduces an upgrade script:

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

However, for downgrade I run the following command which fails with the following error:

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

Any ideas how can I generate a downgrade script?

Thanks.


回答1:


It looks like migration API expects that you want to do downgrade only from "last version".

If BlogLimitsAndTableRename is your most recent migration (the last applied) you can simply run:

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

If it is not your last migration you need to revert your development database to it first:

Update-Database -TargetMigration:"201205161203310_BlogLimitsAndTableRename"

and now you should be able to use the first command to get a script.



来源:https://stackoverflow.com/questions/10871644/ef-4-3-migration-how-to-produce-a-downgrade-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!