# orm-gen **Repository Path**: zeqjone/orm-gen ## Basic Information - **Project Name**: orm-gen - **Description**: 根据mysql数据库的表结构,生成 go 结构体文件 generate go struct file from mysql - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-06-07 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mysql to go model 根据数据库表结构生成 go 模型的工具 ## 使用方法 ### 安装 - 下载源代码 - 如果本地没有 goimports, 则请下载 ```go get -u golang.org/x/tools/cmd/goimports``` - 执行 ```go build -o gen main.go``` 构建可执行文件 - ```chmod +x gen```赋予执行权限 - ```gen -h``` 查看指令集 - gen 有三大指令集 - init 用于初始化配置文件 - config 用于查看配置文件 - export 用于导出 go model 文件 ``` mermaid gragp LR gen --> A(init初始化配置文件指令) A --> -c 指定数据库连接字符串 (default "root:123456@tcp(127.0.0.1:3306)/test") A --> -d 指定 go model 文件导出路径 (default "table") A --> -k 指定哪些表不导出,多个表用逗号分隔 (default [flyway_schema_history]) gen --> B(config, 查看配置信息) gen --> C(export, 导出执行) C --> -t 指定导出哪些表 ``` ---- ### 四步导出 go model 模型步骤 1. ```gen init -c ``` 指定链接mysql 的dsn 2. ```gen init -d ``` 指定导出目录 3. ```gen config ``` 查看配置信息 4. ```gen export ``` 导出 go model 文件 ---- ### 针对导出model 的数据库使用方法及测试用例 在 ```table_employee```文件夹下,导出的数据库模型信息文件```table_exployee.go```,导出的文件会自动格式化(请将 goimports 放在系统环境变量下,否则不会自动格式化)。简单写了基于 [testify](https://tutorialedge.net/golang/improving-your-tests-with-testify-go/) 的测试文件 ```table_test.go```. ## 版本规划 - [x] 根据配置文件,支持主流的 ORM 库,gorm - [ ] 根据配置文件,支持主流的 orm 库,beego - [x] 支持mysql之外的数据库,目前基于 gorm 执行 mysql, 基于 [zorm](https://gitee.com/chunanyong/zorm) 支持 达梦,金仓等国产数据库 ## 联系 mailto: zeq_jone@163.com