1. 程式人生 > >Abp框架連接mysql數據庫

Abp框架連接mysql數據庫

公司 erp 服務 proc 管理 frame har 默認 com

開始想用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

技術分享圖片

2、在EntityFrameworkCore層中找到XXDbContextConfigurer,修改DbContext中數據庫配置,默認使用的SqlServer,修改為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.

技術分享圖片

5、啟動網站,成功打開並連接,如有表結構變化,更新數據庫,只需再次運行之前兩行命令即可。

註意:

1、我的mysql數據庫版本已高於5.7,在mysql5.7時會報一些錯誤,諸如:Specified key was too long; max key length is 767 bytes之類的.

  是由於該版本的mysql使用的編碼方式不同,選擇提升版本、通過修改mysql的編碼方式解決(https://blog.csdn.net/NikoZhao/article/details/79521812)

2、連接字符串中如果加入了Ssl=None;將會出錯,去掉即可。

2018-08-09,望技術有成後能回來看見自己的腳步

Abp框架連接mysql數據庫