ABP.io 迁移数据库遇到的BUG

项目描述

  项目使用 ABP.io架构 创建的 Web Application 项目,使用 EF Code First 自动迁移并创建 MySQL 数据库。

1. Your startup project ‘AbpDemo.Application’ doesn’t reference Microsoft.EntityFrameworkCore.Design.

【问题描述】
使用 update-database 命令迁移数据库时,程序包管理器控制台报错。

'您的启动项目’AbpDemo.应用程序’不引用Microsoft.EntityFrameworkCore.Design设计. 这个包是实体框架核心工具工作所必需的。请确保启动项目正确,安装该软件包,然后重试。

“Your startup project ‘AbpDemo.Application’ doesn’t reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.”

【原因分析】
启动项上没有迁移文件(执行 add-migration 命令生成的文件)。

【参考解决方案】
修改项目启动项为 'xxx.Web' ,程序包管理器控制台 选择 'xxx.EntityFrameworkCore.DbMigrations' 即可。
在这里插入图片描述


2. An error occurred using the connection to database ‘’ on server ‘localhost’.

【问题描述】
使用 update-database 命令迁移数据库时,程序包管理器控制台报错。

An error occurred using the connection to database ‘’ on server ‘localhost’.

在这里插入图片描述

【原因分析】
数据库连接字符串错误。

【参考解决方案】

  1. 检查数据库连接字符串,确保连接数据库字符串正确。

【注意】:
  我这里使用的数据库连接字符串 是在 XXX.DbMigrator 的 appsettings.json 文件中,不是 XXX.Web 的 appsettings.json 文件。

  我一直以为引用的是 XXX.Web 的 appsettings.json 文件中的字符串,XXX.DbMigrator中的字符串为创建项目默认值没有修改,后来发现引用的是 XXX.DbMigrator 的 appsettings.json 文件中的字符串。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将ABP2数据库的数据复制到ABP2_HIS数据库中,可以使用以下步骤: 1. 创建ABP2_HIS数据库,并在其中创建与ABP2数据库相同的表结构。 2. 使用SQL语句将ABP2数据库中的数据导出为一个SQL脚本。 3. 修改该SQL脚本中的数据库名称为ABP2_HIS,并保存该脚本。 4. 在ABP2_HIS数据库中运行该SQL脚本,将ABP2数据库中的数据复制到ABP2_HIS数据库中。 下面是具体的步骤: 1. 创建ABP2_HIS数据库,并在其中创建与ABP2数据库相同的表结构。 可以使用以下SQL语句创建ABP2_HIS数据库: ``` CREATE DATABASE ABP2_HIS; ``` 在ABP2_HIS数据库中创建与ABP2数据库相同的表结构,可以使用以下命令: ``` mysqldump -u root -p ABP2 > ABP2.sql ``` 2. 使用SQL语句将ABP2数据库中的数据导出为一个SQL脚本。 在命令行窗口中输入以下命令: ``` mysqldump -u root -p ABP2 > ABP2.sql ``` 该命令将ABP2数据库中的数据导出为一个名为ABP2.sql的SQL脚本。 3. 修改该SQL脚本中的数据库名称为ABP2_HIS,并保存该脚本。 打开ABP2.sql文件,并用文本编辑器将其中所有的“ABP2”替换为“ABP2_HIS”。 4. 在ABP2_HIS数据库中运行该SQL脚本,将ABP2数据库中的数据复制到ABP2_HIS数据库中。 在命令行窗口中输入以下命令: ``` mysql -u root -p ABP2_HIS < ABP2.sql ``` 该命令将ABP2.sql文件中的SQL语句在ABP2_HIS数据库中执行,从而将ABP2数据库中的数据复制到ABP2_HIS数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值