這篇文章主要介紹“go語言中xorm如何自動(dòng)生成model”,在日常操作中,相信很多人在go語言中xorm如何自動(dòng)生成model問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”go語言中xorm如何自動(dòng)生成model”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出保靖免費(fèi)做網(wǎng)站回饋大家。
xorm自動(dòng)生成model文件
luwei@luweideMacBook-Pro-2 go-simple-task % pwd/Users/myself/Golang/common_project/src/go-simple-task luwei@luweideMacBook-Pro-2 go-simple-task % ls Dockerfile go-simple-task go.mod go.sum logic logs main.go model models overall serv templates tool luwei@luweideMacBook-Pro-2 go-simple-task %
如果沒有g(shù)o-sql-driver/MySQL就先安裝
go get -u github.com/go-sql-driver/mysql
安裝xorm,在cmd命令行下
go get github.com/go-xorm/xorm
再安裝xorm的cmd命令工具
go get github.com/go-xorm/cmd/xorm
安裝 cmd 報(bào)錯(cuò)處理
luwei@luweideMacBook-Pro-2 go-simple-task % go get github.com/go-xorm/cmd/xorm # github.com/go-xorm/cmd/xorm ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/dump.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:246:34: cannot use tables (type []*"xorm.io/core".Table) as type []*"github.com/go-xorm/core".Table in argument to langTmpl.GenImports ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:254:18: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in append ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:291:26: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in slice literal ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/shell.go:60:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel ../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/source.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel luwei@luweideMacBook-Pro-2 go-simple-task %
luwei@luweideMacBook-Pro-2 go-simple-task % cd ../luwei@luweideMacBook-Pro-2 src % go get github.com/go-xorm/cmd/xorm luwei@luweideMacBook-Pro-2 src %
這個(gè)文件下建立config和struct.go.tpl文件.
模板內(nèi)容可以根據(jù)你自己的需要修改
config內(nèi)容如下
lang=go genJson=1prefix=
struct.go.tpl內(nèi)容如下
package {{.Models}}{{$ilen := len .Imports}}{{if gt $ilen 0}}import ( {{range .Imports}}"{{.}}"{{end}}){{end}}{{range .Tables}}type {{Mapper .Name}} struct {{{$table := .}}{{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}} {{Type $col}} {{Tag $table $col}}{{end}}}{{end}}
最后執(zhí)行命令
程序會(huì)在當(dāng)前目錄下生成models文件夾,并在models文件夾中生成go文件
xorm reverse mysql root:root@/fox?charset=utf8 templates/goxorm
luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxorm zsh: no matches found: root:123456@/bubble?charset=utf8
解決方案
vim ~/.zshrc
在~/.zshrc中加入:
setopt no_nomatch
檢查一下
luwei@luweideMacBook-Pro-2 go-simple-task % cat ~/.zshrc source ~/.bash_profileexport GOPROXY=https://goproxy.io,direct setopt no_nomatch
最后執(zhí)行
source ~/.zshrc
luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxorm luwei@luweideMacBook-Pro-2 go-simple-task %
到此,關(guān)于“go語言中xorm如何自動(dòng)生成model”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!