.net Core数据迁移

本文详细介绍了如何使用.NET Core进行数据库迁移,包括CLI和PMC命令,如创建、删除迁移,更新数据库以及生成SQL脚本。通过`add-migration`、`remove-migration`、`update-database`等命令,开发者可以方便地管理数据库版本。同时,`Script-Migration`命令用于生成SQL脚本,对于版本回滚和查看迁移历史也有详细说明。
摘要由CSDN通过智能技术生成

.net Core数据迁移

.net Core数据迁移

迁移命令描述CLI命令PMC命令
创建迁移 migrationname(迁移名)dotnet ef migrations add migrationNameadd-migration migrationName
移除迁移(删除最近的一次迁移)dotnet ef migrations add migrationNameremove-migration
应用所有的迁移(使迁移文件应用到数据库)dotnet ef database updateupdate-database
指定版本进行迁移dotnet ef database updateupdate-database migrationName
生成对应版本的脚本dotnet ef migrations scriptScript-Migration
查看迁移列表dotnet ef migrations list/
查看数据库上下文信息dotnet ef dbcontext info/

1.在Vs中使用 程序包管理器控制台(PMC命令)

视图=》其他窗口=》程序包管理器控制台
在这里插入图片描述
展示页面

  1. add-migration 这个命令一般都不会有啥问题输入命令回车在输入迁移名称就ok

  2. remove-migration 这个也是如果想删除最后一次迁移 直接执行就好

  3. update-database 第一步添加一个迁移文件成功后,可以用该命令直接更新到数据库,默认是所有迁移,如果想指定迁移直接加上迁移文件的名字就好了.
    如:update-database migrationName,也相当于版本回滚操作,比如有版本1,2,3 此时我想回滚到版本1 就直接 update-database 1,此时数据库中已经更新到1版本了,然后在两次remove-migration把2和3的迁移文件删除就好了

  4. Script-Migration 这个命令用于生成迁移文件对应的sql语句的,跟之前的ef貌似有些不一样,该命令 如果不加任何参数 是默认生成所有迁移文件对应的sql语句,当然也参照格式指定餐宿

    Script-Migration -From migrationName1 -To migrationName2 -Context ContextName

    有意思的是 ,它不会生成from对应的迁移文件的sql,也就是说想上面这么写只会生生成
    migrationName2的sql语句,那么问题来了 ,需要生成第一个迁移文件的sql怎么办?经过查看官方文档,需要指定from参数为0,也就是 Script-Migration -From 0

  5. 最后温馨提示 使用 Get-Help 即可获取对应命令文档,如 get-help update-databa

2.命令行创建数据库(CLI命令)

  • 找到你迁移文件的类库=》鼠标右键进入文件夹=》在文件路劲中输入cmd=》进入后可输入dotnet ef
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  1. dotnet ef migrations add 生成一条迁移
  2. dotnet ef migrations remove 删除最新一次迁移
  3. dotnet ef database update 生成迁移到数据库,跟上面pmc命令类似 后面加指定的迁移作为参数可以进行版本的回滚
  4. dotnet ef migrations script 也跟pmc类似 如果没有任何参数的话默认是生成所有sql脚本,但是参数格式略有不同如下:dotnet ef migrations script migrationName1 migrationName2 ; 是像这样直接跟迁移名称的也就是生成migrationName1 到migrationName2 的sql脚本

链接: 转载链接:EFCore数据库迁移命令.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值