C# ef core迁移和恢复迁移

一、从模型迁移到数据库

1、visual studio 启动项里选择对应的项目,修改appsettings.json里的数据库链接(决定迁移到那个服务器以及数据库)

2、打开Nuget管理控制台,执行Add-Migration init (版本号),会生成Migrations目录以及2个文件20230221103118_init.cs(时间戳_版本号.cs)和 xxxMigrationsDbContextModelSnapshot.cs),其中20230221103118_init.cs主文件包含迁移的所有字段和关联关系,有2个方法Up(迁移)和Down(恢复),xxxMigrationsDbContextModelSnapshot.cs快照文件记录每次迁移的改变

3、执行Updata-DataBase,就会使用最新创建的版本文件20230221103118_init.cs做迁移,自动创建数据库和表单

二、从模型修改数据库

1、修改Domian层模型文件里的字段,假设修改字段类型[Column(TypeName="varchar(50)")],再次执行Add-Migration update,就会创建20230221103118_update.cs文件,每次改变模型字段都需要执行这个命令

2、执行Updata-DataBase,发现表单字段类型已经被修改了

三、恢复迁移

1、执行Rmove-Migration,不需要指定版本文件,默认撤销最近一次创建的,有时候会提示信息:The migration 'xxx' has already been applied to the database,证明迁移已经发生,但是迁移文件并没有删除,快照文件也没改变,这时执行 Remove-Migration -Force 强制删除即可

posted @ 2023-02-22 13:06  codeIsArt  阅读(220)  评论(0编辑  收藏  举报