官方文档 : https://github.com/volatiletech/sqlboiler/
1、安装 sqlboiler (最新版本,v1/v2/v3版本都不再维护)
Go 1.16 以上版本:
go install github.com/volatiletech/sqlboiler/v4@latest
go install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql@latest
Go 1.15 以下版本:
安装sqlbolier v4版本和postgresql(也可以安装其他驱动比如mysql, mssql, sqlite3)
注意:不要再另一个go模块中运行(比如你的代码项目里),它会用一堆你不想要的东西污染你的 go.mod, 并且你的二进制文件不会被安装。
GO111MODULE=on go get -u -t github.com/volatiletech/sqlboiler/v4
GO111MODULE=on go get github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql
支持的数据库 | 驱动链接 |
---|---|
PostgreSQL | https://github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql |
MySQL | https://github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-mysql |
MSSQLServer2012+ | https://github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-mssql |
SQLite3 | https://github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-sqlite3 |
CockroachDB | https://github.com/glerchundi/sqlboiler-crdb |
v3版本安装教程(需要go1.15以下)
2、在当前工程根目录新建 sqlboiler.toml 文件(一定要这个命名不然无法解析) 配置内容如下
[mysql]
dbname = "dbname"
host = "127.0.0.1"
port = 3306
user = "root"
pass = "密码"
sslmode = "false"
output = "models" //生成在哪个目录
pkgname = "models" //包名,与目录名相同步
whitelist = ["student","teacher"] //需要生成哪张表的model,这里是表名
3、在当前工程目录执行 sqlboiler mysql 命令 ,即可在 models 目录生成指定的model
4、–no-tests 不生成test后缀的文件
sqlboiler -o "models/dbname" -p 数据库名 --no-tests mysql
5、–pkgname指定文件夹名(默认是models)
sqlboiler -o "new_pkgname/dbname" -p 数据库名 --pkgname 指定文件夹名
6、sqlboiler.toml 文件起别名(写在第2步mysql配置的下面,重新执行生成命令生效)
[[aliases.tables]]
name = "student"
up_plural = "sds"
up_singular = "sd"
down_plural = "Sds"
down_singular = "Sd"