如何使用 .Net Core 实现数据库迁移 (Database Migration)

当我们在编写基于数据库的应用程序时,随着需求的增加和改变,我们需要升级我们的数据库,变更数据库表的字段,当我们的系统的不同版本被部署到了不同的客户那里,在需要给客户升级时,我们如何实现数据库模式 (schema) 的自动升级呢?

传统的管理办法是针对每个数据库版本,开发者手工编写升级脚本。在需要升级的时候,找到对应的脚本挨个升级到指定的版本。编写升级脚本是一件枯燥乏味且容易出错的工作,手动升级也需要细心的操作。

数据库迁移工具能否帮助我们解决这个问题,在 JAVA 世界有 Red Gate,Liquibase 这样的解决方案。.Net Core 提供了 Entity Framework 数据迁移工具。它可以帮助我们自动管理数据库模式,把不同版本的数据库升级到最新版本上。

下面以 asp.net core 服务为例,简要介绍如何使用 .Net Core Entity Framework Database Migration Tools

安装 EF 工具

首先我们需要安装 dotnet-ef,打开命令行,输入如下命令:

dotnet tool install --global dotnet-ef

如果不安装这个工具,我们可能会看到下面的错误:
在这里插入图片描述

创建数据库项目,建立第一个迁移

进入 Visual Studio 创建一个 asp.net core 项目,然后在 program.cs 里加入以下代码:


builder.Services.AddDbContext<YourDbContext>(
    options => options.UseSqlServer("name=ConnectionStrings:DefaultConnection"));

我们的配置文件,应该是这个样子的:

{
   
   
  "Logging": {
   
   
    "LogLevel": {
   
   
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
   
   
    "DefaultConnection": "Server=172.28.64.136;Database=YourDatabaseName;UID=sa;PWD=YourPassword;trustServerCertificate=true"
  }
}

新建一个 YourDbContext 类,它应该类似于下面的代码:

    public class YourDbContext : DbContext
    {
   
   
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

surfirst

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

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

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

打赏作者

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

抵扣说明:

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

余额充值