当模型发生更改时,将在正常开发过程中添加和删除迁移,并将迁移文件签入项目的源代码管理,进行迁移时,必须在启动程序中安装nuget包:Microsoft.EntityFrameworkCore.Tools,并在VS的程序包管理器控制台执行迁移指令
管理迁移:
1、新增迁移,Init指迁移名称,用途与版本控制中提交信息类似,有助于维护,回滚等
Add-Migration Init
执行迁移指令后,会在项目中添加“Migrations”文件夹,并添加两个文件:
xxxxxxxxxxxx_Init.cs:迁移文件
MyDbContextModelSnapshot.cs:当前模型的快照
注意:执行迁移指令后,只是生成迁移文件,还没有把迁移应用到数据库,也就是说此时数据库还没有任何更改
2、删除迁移:有时可能在添加迁移后意识到需要在应用迁移前对 EF Core 模型作出其他更改。 要删除上个迁移,请使用如下命令
Remove-Migration
应用迁移:
在程序执行完Add-Migration 添加迁移后,需要把迁移应用到数据库,有两种方式:
1、使用以下命令,update-database:把最新的迁移应用到数据库
Update-Database
或 Update-Database xxx:把xxx迁移应用到数据库,xxx可以不是最新的,也就是说可以通过指定xxx回滚到较早的迁移,但注意可能会导致数据丢失,且迁移文件不会删除
Update-Database AddStudentGender
2、使用SQL脚本进行迁移
执行以下命令生成迁移代码:
Script-Migration
也可以使用 Script-Migration xxx yyy 执行指定从xxx到yyy的迁移,如果xxx比yyy更新,则可以实现回滚
执行完Script-Migration后vs会生成SQL脚本,在数据库中再执行这个脚本,完成数据库迁移
建议:开发过程中可以使用Update-Database,但生产环境下建议使用Script-Migration生成脚本再执行,这样风险较小
标签:Script,数据库,xxx,Update,Migration,EFCore,迁移 From: https://www.cnblogs.com/luohualiushui1173/p/17922061.html