这看起来像一个非常常见的任务,但我找不到一个简单的方法来做到这一点。EF迁移:回退上次应用的迁移?
我想撤消上次应用的迁移。我本来期望一个简单的命令,比如
PM> Update-Database -TargetMigration:"-1"
相反,所有我能想出是:
PM> Get-Migrations
Retrieving migrations that have been applied to the target database.
201208012131302_Add-SystemCategory
201207311827468_CategoryIdIsLong
201207232247409_AutomaticMigration
201207211340509_AutomaticMigration
201207200025294_InitialCreate
PM> Update-Database -TargetMigration:"CategoryIdIsLong"
(至少我可以只使用名称,跳过时间戳...)
有没有更简单的方法?
另一个细节:如果您有一个现有的手动迁移,您需要回滚到,但意识到您的“向下”方法并没有正确回滚,您可以编辑并保存它,然后重新运行update-database - 目标...直到它正确回滚。事实之后 - 在您已经应用之后修改手动迁移 - 不会将其变为不允许编辑的内容。 – 2013-12-04 08:13:08
这对我不起作用。我得到的是“指定目标的迁移‘-1’不存在。 – tutiplain 2017-08-06 11:51:15