gen-model-protobuf-tools

command module
v0.0.0-...-44e7bee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 9 Imported by: 0

README

gen-model-protobuf-tools

介绍

从数据库表定义自动生成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/备注
安装教程
  1. go get https://gitee.com/marcellos/gen-model-protobuf-tools.git
  2. 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 文件中。

Documentation

Overview

Copyright 2022 marcello<volibearw@gmail.com>. All rights reserved.

Copyright 2022 marcello<volibearw@gmail.com>. All rights reserved.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL