beego學(xué)習(xí)筆記

近來在學(xué)習(xí)go語言和postgres數(shù)據(jù)庫,用來做一個小的web項目。因為go語言的開發(fā)者還不是很多,網(wǎng)上能用的資料比較少,再加上使用go連接postgres數(shù)據(jù)庫的技術(shù)棧更是冷門,所以記錄一下其中遇到的坑,希望能幫到有緣人。
go語言有幾個web框架,網(wǎng)上很多描述,查了很多資料我選擇了beego。beego是一個完整的mvc框架,功能模塊比較完善,過濾器、session管理、orm操作等等都有封裝好的模塊,比起gin少了很多需要組裝的活,所以就打算從它開始。
beego框架有一個命令行工具 bee,使用bee可以快速創(chuàng)建beego項目,但是我在第一步就遇到了坑

數(shù)據(jù)庫連接不上

beego的官方文檔上寫的連接數(shù)據(jù)庫創(chuàng)建項目的命令是

bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:<password>@tcp(127.0.0.1:3306)/test"]

重點看conn這個參數(shù),這個參數(shù)值是按照MySQL的驅(qū)動連接格式來寫的,用在postgres 數(shù)據(jù)庫根本就不行,后來我在網(wǎng)上找postgres的連接方式發(fā)現(xiàn)它的格式是這樣的

psql postgres://username:password@host:port/dbname  
psql -U username -h hostname -p port -d dbname 

我選了第一種,還是報錯 : SSL is not enabled on the server。這個問題就好解決了,網(wǎng)上一搜還需要加上?sslmode=disable。同時因為我的pg數(shù)據(jù)庫里使用了模式,所以在連接字符串里還需要加上&search_path=模式名。完整的連接就是:

postgres://username:password@host:port/dbname?sslmode=disable&search_path=schemaname
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容