migration相关说明:
- 使用迁移脚本,可以对当前连接的数据库执行编号更高的迁移,这个操作叫做“向上迁移”(Up),也可以执行把数据库回退到旧版本的迁移,这个操作叫做“向下迁移”(Down)。
- 除非有特殊需要,否则不要删除migration文件夹下的代码。包括数据库自动生成的__EFMigrationsHistory表中的数据。如果人为删除可能会引发数据库版本混乱的情况。
常用命令说明:
1.add-migration XXX
根据最新实体,生成数据库更新脚本。
2.update-database XXX
把数据库更新到XXX的状态,迁移脚本不动。
示例:
如上图所示,目前最新的状态为fluent_api,那么要想更新数据库到bird状态,就可以执行update-database bird,就可以将数据库更新到bird状态。要想从bird状态再更新到其他状态,也是如此。
3.remove-migration
删除最后一次迁移的脚本,此命令用于已经使用add-migration xxx后生成了最新的数据库更新脚本后,对该脚本的删除操作。
4.script-migration
生成迁移SQL的代码,此脚本生成的代码是可以直接拿到数据库执行的。不同于add-migration生成的脚本只能由EF Core执行。该命令主要用于开发完成后生成脚本,将脚本放到生产环境中执行。因为生产环境不方便执行update-database这样的更新命令,主要是不安全。
生成版本D到版本F的SQL脚本: script-migration D F
生成版本D到最新版本的SQL脚本: script-migration D