Entity framework Core 数据库迁移

时间:2022-02-18 18:28:39

初始化数据库

1.添加初始迁移

Add-Migration init

向“迁移”目录下的项目添加以下三个文件:

  • 00000000000000_init.cs--主迁移文件。 包含应用迁移所需的操作(在 Up() 中)和还原迁移所需的操作(在 Down()中)。
  • 00000000000000_init.Designer.cs--迁移元数据文件。 包含 EF 所用的信息。
  • MyContextModelSnapshot.cs--当前模型的快照。 用于确定添加下一迁移时的更改内容。

文件名中的时间戳有助于保持文件按时间顺序排列,以便你可以查看更改进展。

2.直接将迁移到数据库。

Update-Database

3.删除迁移

要删除上个迁移,请使用如下命令。

Remove-Migration

4.还原迁移:如果已对数据库应用一个迁移(或多个迁移),但需要将其复原,则可使用应用迁移的相同命令并指定要回退的迁移名称。

Update-Database init

5.生成 SQL 脚本:调试迁移或将其部署到生产数据库时,生成一个 SQL 脚本很有帮助。 之后可进一步检查该脚本的准确性,并对其作出调整以满足生产数据库的需求。 该脚本还可与部署技术结合使用。 基本命令如下

Script-Migration  例如:(script-Migration init init2)

rom 迁移应是运行该脚本前应用到数据库的最后一个迁移。 如果未应用任何迁移,请指定 0(默认值)。

to 迁移是运行该脚本后应用到数据库的最后一个迁移。 它默认为项目中的最后一个迁移。

可以选择生成 idempotent 脚本。 此脚本仅会应用尚未应用到数据库的迁移。 如果不确知应用到数据库的最后一个迁移或需要部署到多个可能分别处于不同迁移的数据库,此脚本非常有用。