移除迁移

场景介绍
  • 该操作适用于误操作导致出现错误时使用
  • 如:未按照迁移格式进行迁移或所进行迁移的数据表缺少属性时需要移除迁移

    操作原因:迁移命令未按照规范进行命名
  • 删除尚未应用到数据库的最新迁移
    移除迁移 - 图1移除迁移 - 图2

  • 操作命令:直接使用 Remove-Migration 命令移除最新迁移文件
    移除迁移 - 图3


  • 删除已经应用到数据库的迁移
    首先要撤销迁移对数据库造成的更改。即需要回滚Migration2的更改,再执行迁移Migraiton1,将数据库的状态和当前需要回滚的模型状态改成一致。
    (注:此处 Migraiton1为 ‘20210610023253 Initial’ Migration2为 ‘ 20210610060342 update OrderId _to _OrderDetail’)
    • 步骤一: 回滚Migration2,直接执行Update-Database ‘Migration1’即可
      移除迁移 - 图4
      (注:因为2是在1之后应用的,所以执行该指令可以直接撤销2的更改。同时EF Core还会从__EFMigrationsHistory表中删除2的迁移记录)
    • 步骤二:使用 Remove-Migration 命令删除2的迁移文件
      移除迁移 - 图5