ABP框架连接Mysql数据库
開(kāi)始想用Abp框架來(lái)搭建公司的新項(xiàng)目,雖然一切還沒(méi)有定數(shù),但是兵馬未動(dòng),糧草先行,我先嘗試一下整個(gè)過(guò)程,才能夠更好的去爭(zhēng)取機(jī)會(huì)。
此次技術(shù)選型:Abp(Asp.Net core mvc)+mysql(8.0)+docker
Abp官網(wǎng)地址:https://aspnetboilerplate.com/
?
1、Nuget中安裝mysql相關(guān)包,oracle公司提供的mysql包用起來(lái)還有問(wèn)題,所以現(xiàn)在都是用的第三方的mysql包。
pomelo.entityframeworkcore.mysql
pomelo.entityframeworkcore.mysql.design
?
2、在EntityFrameworkCore層中找到XXDbContextConfigurer,修改DbContext中數(shù)據(jù)庫(kù)配置,默認(rèn)使用的SqlServer,修改為mysql。
3、修改連接字符串,在Web.Host或是Web.MVC下找到appsetting.json文件并修改其中的連接字符串。
"Default": "Server=xxx.xxx.xxx.xxx; Database=surrounddb;charset=utf8;uid=root;pwd=123456;"我直接在服務(wù)器中的Docker下安裝了一個(gè)mysql數(shù)據(jù)庫(kù),因此在開(kāi)發(fā)環(huán)境下也將直接使用該數(shù)據(jù)庫(kù)。
?
4、開(kāi)始更新數(shù)據(jù)庫(kù),可將EntityFrameworkCore層下的Migrations文件夾刪掉不影響,其中的是該版本歷史過(guò)程中數(shù)據(jù)庫(kù)遷移所帶來(lái)的,于我們而言不重要了。
在程序包管理器控制臺(tái)下選中EntityFrameworkCore,并開(kāi)始輸入命令
PM>Add-Migration name(取一個(gè)本次更新的名稱)
提示信息:To undo this action, use Remove-Migration.
PM>Update-Database
沒(méi)有差錯(cuò)下將會(huì)提示如下:
提示信息:Applying migration '20180809141445_InitAll'.
Done.
?
?5、啟動(dòng)網(wǎng)站,成功打開(kāi)并連接,如有表結(jié)構(gòu)變化,更新數(shù)據(jù)庫(kù),只需再次運(yùn)行之前兩行命令即可。
?
注意:
1、我的mysql數(shù)據(jù)庫(kù)版本已高于5.7,在mysql5.7時(shí)會(huì)報(bào)一些錯(cuò)誤,諸如:Specified key was too long; max key length is 767 bytes之類(lèi)的.
是由于該版本的mysql使用的編碼方式不同,選擇提升版本、通過(guò)修改mysql的編碼方式解決(https://blog.csdn.net/NikoZhao/article/details/79521812)
2、連接字符串中如果加入了Ssl=None;將會(huì)出錯(cuò),去掉即可。
?
2018-08-09,望技術(shù)有成后能回來(lái)看見(jiàn)自己的腳步?
轉(zhuǎn)載于:https://www.cnblogs.com/CKExp/p/9452526.html
總結(jié)
以上是生活随笔為你收集整理的ABP框架连接Mysql数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaScript 原型链学习(二)原
- 下一篇: 测试思想-好东西与大家分享-1