如何在Visual Studio 2012中降级Entity Framework 5迁移?

Jam*_*eet 28 asp.net-mvc entity-framework-5 visual-studio-2012

我注意到,当我创建代码时,首先使用add-migration它进行数据库迁移会生成Down()方法和Up()方法.

如何告诉我的数据库降级?

Jam*_*eet 44

几乎放弃了对Google的研究后,我设法从这里找到了这个引用:

其中指定:

假设我们想要在运行AddBlogUrl迁移后将数据库迁移到它所处的状态.我们可以使用该–TargetMigration开关降级到此迁移.

Update-Database –TargetMigration: AddBlogUrl在包管理器控制台中运行该命令.此命令将为AddBlogAbstract和AddPostClass迁移运行Down脚本.

如果要一直回滚到空数据库,则可以使用该Update-Database –TargetMigration: $InitialDatabase命令.


Dav*_*pko 14

首先通过发出Get-Migrations命令获取要在降级之前应用的迁移的名称.

PM> Get-Migrations
Retrieving migrations that have been applied to the target database.
201508242303096_Bad_Migration
201508211842590_The_Migration_applied_before_it
201508211440252_And_another
Run Code Online (Sandbox Code Playgroud)

此列表显示首先列出最近应用的迁移的迁移.选择要降级的列表之后发生的迁移,即在您要降级的应用之前应用的迁移.

Update-Database –TargetMigration: "<the migration applied before it>"
Run Code Online (Sandbox Code Playgroud)

在指定的迁移之后应用的所有迁移将按照从先应用的最新迁移开始的顺序进行降级.

  • 现在在 EFcore 中有点不同:`Get-Migration`(无复数)和`Update-Database "您要应用的迁移名称"`(无 TargetMigration 参数) (2认同)