ABP框架连接Mysql数据库

时间:2024-05-02 08:35:38

开始想用Abp框架来搭建公司的新项目,虽然一切还没有定数,但是兵马未动,粮草先行,我先尝试一下整个过程,才能够更好的去争取机会。

此次技术选型:Abp(Asp.Net core mvc)+mysql(8.0)+docker

Abp官网地址:https://aspnetboilerplate.com/

1、Nuget中安装mysql相关包,oracle公司提供的mysql包用起来还有问题,所以现在都是用的第三方的mysql包。

pomelo.entityframeworkcore.mysql

pomelo.entityframeworkcore.mysql.design

ABP框架连接Mysql数据库

2、在EntityFrameworkCore层中找到XXDbContextConfigurer,修改DbContext中数据库配置,默认使用的SqlServer,修改为mysql。

ABP框架连接Mysql数据库

3、修改连接字符串,在Web.Host或是Web.MVC下找到appsetting.json文件并修改其中的连接字符串。

 "Default": "Server=xxx.xxx.xxx.xxx; Database=surrounddb;charset=utf8;uid=root;pwd=123456;"

  我直接在服务器中的Docker下安装了一个mysql数据库,因此在开发环境下也将直接使用该数据库。

4、开始更新数据库,可将EntityFrameworkCore层下的Migrations文件夹删掉不影响,其中的是该版本历史过程中数据库迁移所带来的,于我们而言不重要了。

  在程序包管理器控制台下选中EntityFrameworkCore,并开始输入命令

  PM>Add-Migration name(取一个本次更新的名称)

  提示信息:To undo this action, use Remove-Migration.

  PM>Update-Database

  没有差错下将会提示如下:

  提示信息:Applying migration '20180809141445_InitAll'.

       Done.

ABP框架连接Mysql数据库

5、启动网站,成功打开并连接,如有表结构变化,更新数据库,只需再次运行之前两行命令即可。

注意:

1、我的mysql数据库版本已高于5.7,在mysql5.7时会报一些错误,诸如:Specified key was too long; max key length is 767 bytes之类的.

  是由于该版本的mysql使用的编码方式不同,选择提升版本、通过修改mysql的编码方式解决(https://blog.****.net/NikoZhao/article/details/79521812)

2、连接字符串中如果加入了Ssl=None;将会出错,去掉即可。

2018-08-09,望技术有成后能回来看见自己的脚步