您好,登錄后才能下訂單哦!
利用xorm怎么生成一個go model文件?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
安裝以下依賴,用到哪個裝哪個。
github.com/go-xorm/xorm
驅動
Mysql: github.com/go-sql-driver/mysql
Postgres: github.com/lib/pq
SQLite: github.com/mattn/go-sqlite3
MSSQL: github.com/denisenkom/go-mssqldb
逆向生成
Reverse 命令可以轉換數據庫到所有支持的語言的數據結構,安裝以后可以用 xorm help reverse查看幫助。
例子:
cd $GOPATH/src/github.com/go-xorm/cmd/xorm sqlite: xorm reverse sqite3 test.db templates/goxorm mysql: xorm reverse mysql root:root@/xorm_test?charset=utf8 templates/goxorm mymysql: xorm reverse mymysql xorm_test2/root/ templates/goxorm postgres: xorm reverse postgres "dbname=xorm_test sslmode=disable" templates/goxorm mssql: xorm reverse mssql "server=test;user id=testid;password=testpwd;database=testdb" templates/goxorm
會在./model目錄下生成go的文件
坑
1、一定要在$GOPATH/src/github.com/go-xorm/cmd/xorm目錄下運行,因為在這個目錄下有templets,在解析數據庫結構的時候有用。如果在別的目錄下運行,會導致命令不報錯,但是無法正常生成對應的結構文件。有空可以給github.com/go-xorm/cmd/xorm提個bug,加上錯誤提示。
2、執行xorm reverse mysql root:root@127.0.0.1:3306/testdb?charset=utf8 templates/goxorm報錯2017/08/16 14:09:18 [Error] reverse.go:176 default addr for network '127.0.0.1:3306' unknown
解決辦法:
xorm reverse mysql root:root@tcp(127.0.0.1:3306)/testdb?charset=utf8 templates/goxorm xorm reverse mysql root:root@tcp(127.0.0.1:3306)/testdb?charset=utf8 templates/goxorm
補充:「golang」xorm工具生成postgres的model
golang中的orm框架,一般使用xorm的xorm工具根據數據庫表自動生成struct文件
xorm reverse postgres "dbname=queimsi sslmode=disable user=postgres password=123456 host=10.0.2.206 port=5432" /data/workspace/go/src/github.com/go-xorm/cmd/xorm/templates/goxorm
然后就會自動在當前目錄下生成表的struct文件
看完上述內容,你們掌握利用xorm怎么生成一個go model文件的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。