Abp VNext EF Core 数据迁移方式

EF Core 数据迁移有2种方式:

1. 程序包管理器控制台 , Package Manager Console(PMC)

-用vs 开发建议使用PMC迁移方式,该方式是同时支持efcore和原先的ef 迁移的功能

PMC迁移命令:

创建迁移:add-migration migrationName migrationname为迁移名称

移除迁移(删除最近的一次迁移) : remove-migration

应用所有的迁移(使迁移文件应用到数据库):update-database

指定版本进行迁移:update-database migrationName

生成对应版本的脚本:Script-Migration 生成成功是会有个临时文件记录修改的SQL语句的脚本

生成步骤:

1.VS 菜单 -工具-Nuget包管理器-程序包管理控制台 (注意默认启动项目)

2.xxxxApplicationAutoMapperProfile.cs文件确认是否有对应映射关系代码:

如:CreateMap<BaseLogs, LogDto>();等等

3.xxxxDbContextModelCreatingExtensions.cs 类添加对应数据表结构

如:  public static void ConfigureOrder(this ModelBuilder builder)
        {
            Check.NotNull(builder, nameof(builder));
           
            builder.Entity<Order>(s =>
            {
                s.ToTable("t_order");
                s.ConfigureByConvention();
                s.Property(s => s.OrderId).HasColumnName("OrderId").HasMaxLength(36);

                }

        }

4.xxxxDbContext.cs类中添加对应的方法

xxxxMigrationDbContext.cs类中也需要添加 对应的方法

如:

 protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            builder.ConfigureOrder();

        }

对应第3步的 ConfigureOrder  方法名称

5.执行命令 add-migration migrationname    migrationname为迁移名称

6.ADD成功以后 执行 update-database 命令

1.1 团队开发迁移方式 (供参考)

1.1.1 新建上下文   xxxxDbContext   

1.1.2 新建DbContextFactory  xxxDbContextFactory

1.1.3 Nuget 命令 add-migration -context xxxxDbContext   -name xxx

--context 上下文对象 -name 迁移文件名称

1.1.4 update-database -context  xxxxxDbContext  完成迁移

1.1.5 Script-Migration -Context  xxxxDbContext  生成迁移报告

或者 Script-Migration -Context    20220101 执行指定文件生成迁移报告 SQL脚本

PMC数据迁移步骤完成

2. 跨平台命令行工具 ,Command line interface (CLI)

  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数据库迁移命令_az44yao的博客-CSDN博客_efcore 迁移

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pandi18

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值