介绍
从数据库表定义自动生成model和protobuf定义
软件架构
Go实例从数据库自动生成model和protobuf3文件
目前支持的ORM:GORM 也是唯一支持orm
更新日志
2024/03/22
- 当数据库没有备注时, .proto 尾部不再有 //
- 调整默认输出目录为 entity, go package也默认修改为entity
- 当输出目录不存在, 将会创建目录, 若目录无法创建,直接失败
- 生成 proto 开关默认调整为 false
- 当 proto 开关为false时, 生成的 entity 文件也没有转换函数
- proto 文件默认输出到pb目录
- entity 文件生成后,会尝试主动格式化文件内容
- 现在生成model可以识别自增/主键/唯一键/null or not null/备注
安装教程
- go get https://gitee.com/marcellos/gen-model-protobuf-tools.git
- go install
使用说明
最简单的使用示例
./gen-model-protobuf-tools --host=127.0.0.1 --port=3306 --user= --passwd= --schema=db_foo
# 将会在当前目录生成 entity 文件夹
完整参数
gen-model-protobuf-tools --host= \
--port= \
--user= \
--passwd= \
--schema= \
--model \
--model-out= \
--model-user-gorm \
--model-gorm-model \
--model-to-proto \
--model-import-pb-path= \
--model-package= \
--model-overwrite \
--proto \
--proto-out= \
--proto-package= \
--proto-option-go-package=
# 常规数据库参数
# 表、字段数据使用 information_schema.columns 表
# 数据库地址
--host=
# 数据库端口
--port=
# 数据库用户名
--user=
# 数据库密码
--passwd=
# 数据库名
--schema=
# 生成model文件开关
--model
# 生成model文件目录位置,需要提前创建好
--model-out=
# 对生成的model文件使用gorm
--model-user-gorm
# 对生成的model文件使用 Gorm.Model 结构体
--model-gorm-model
# 对生成的model文件,增加 fromProto 和 toProto 方法
--model-to-proto
# 生成 fromProto/toProto 后需要import protobuf 生成的文件路径
--model-import-pb-path=
# 生成 model 文件的 package 名
--model-package=model
# 自动覆盖旧的文件
--model-overwrite
# 生成 proto 文件开关
--proto
# 生成 protobuf 定义文件的目录
--proto-out=
# protobuf package
--proto-package =
# protobuf option go_package 的值
--proto-option-go-package=
注意: = 号两侧不能有空格
授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 LICENSE 文件中。