你懂的,手工翻译表定义到go结构体是很枯燥的。
so,用xorm搞定。
go get github.com/go-xorm/cmd/xorm
安装以下依赖,用到哪个装哪个。
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"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"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文件
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
更新动态
- Taylor Swift《THE TORTURED POETS DEPARTMENT- THE ANTHOLOGY》[320K/MP3][279.09MB]
- 崔健《85回顾+梦中的倾诉》2CD [WAV+CUE][771M]
- 群星《安桥试音碟》3CD[FLAC][1.1G]
- Taylor Swift《THE TORTURED POETS DEPARTMENT- THE ANTHOLOGY》][24bit 48kH][FLAC/分轨]
- 群星1995-阿诗玛·中国歌剧金曲[中唱][WAV+CUE]
- [JVC]吴文光-中国古琴:流水[FLAC分轨]
- 刘欢.2004-经典20年珍藏锦集【新索】【WAV+CUE】
- 中唱唱片群星《好歌珍藏-游子情深》2CDWAV
- CD圣经上榜天碟1995-乌仁娜-《蒙古草原之歌》[WAV+CUE].
- 【电影原声】武满彻《旭日东升》1993[WAV+CUE整轨]
- Taylor Swift《THE TORTURED POETS DEPARTMENT》[320K/MP3][148.54MB]
- Taylor Swift《THE TORTURED POETS DEPARTMENT》[FLAC/分轨][405.72MB]
- Joyce Jonathan《法式松弛感 漫步香榭丽舍》[320K/MP3][80.8MB]
- 女神异闻录5佐仓双叶coop攻略 p5r佐仓双叶对话选项攻略
- 【民谣】张智《尼勒克小镇》[FLAC]