Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mqenergy/gorm-model
基于gorm的一键生成关联mysql数据表模型结构体
https://github.com/mqenergy/gorm-model
gin go golang gorm model
Last synced: 3 months ago
JSON representation
基于gorm的一键生成关联mysql数据表模型结构体
- Host: GitHub
- URL: https://github.com/mqenergy/gorm-model
- Owner: MQEnergy
- License: mit
- Created: 2022-02-16T03:55:39.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-09T03:34:44.000Z (about 2 years ago)
- Last Synced: 2024-10-14T00:22:34.787Z (3 months ago)
- Topics: gin, go, golang, gorm, model
- Language: Go
- Homepage:
- Size: 30.3 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gorm-model
基于gorm的一键生成关联mysql数据表模型结构体[![GoDoc](https://pkg.go.dev/badge/github.com/MQEnergy/gorm-model/?status.svg)](https://pkg.go.dev/github.com/MQEnergy/gorm-model)
[![Go Report Card](https://goreportcard.com/badge/github.com/MQEnergy/gorm-model)](https://goreportcard.com/report/github.com/MQEnergy/gorm-model)
[![codebeat badge](https://codebeat.co/badges/a1d6feb8-909f-49a5-8d5c-3600b64bda04)](https://codebeat.co/projects/github-com-mqenergy-gorm-model-main)
[![GitHub license](https://img.shields.io/github/license/MQEnergy/gorm-model)](https://github.com/MQEnergy/gorm-model/blob/main/LICENSE)### 注意
```
需要注意本组件根据数据表的数据字段有两个特殊格式 time和decimal
需要引入相应组件:
1、time
2、github.com/shopspring/decimal(或其他自定义支持decimal.Decimal方法的组件)
```
### 安装到项目中
```shell script
go get -u github.com/MQEnergy/gorm-model
```### 方法
#### 1、生成全部数据表对应的model
##### GenerateAllModel(cfg *ModelConfig)
```
db: gorm连接实例
dbName: 数据库名称
mDir: 模型存储目录
prefix: 去除的表前缀名称,不去除传空,去除出前缀名 如:gin
```#### 2、生成单个数据表对应的model
##### GenerateSingleModel(cfg *ModelConfig, tbName string)
```
db: gorm连接实例
dbName: 数据库名称
tbName: 数据表名称
mDir: 模型存储目录
prefix: 去除的表前缀名称,不去除传空,去除出前缀名 如:gin
```### 查看案例examples
```go
go run examples/model.go --help
```
```
-db string
数据库名称 如:gin_framework (default "gin_framework")
-dir string
模型存储目录 如:./models(存入在当前执行命令所在目录,支持多级目录) (default "./models")
-dsn string
数据库连接信息 如:root:123456@tcp(127.0.0.1:3306)/gin_framework?charset=utf8mb4&parseTime=True&loc=Local (default "root:123456@tcp(127.0.0.1:3306)/gin_framework?charset=utf8mb4&parseTime=True&loc=Local")
-ic
是否覆盖原生成的模型结构体 true:覆盖 false:不覆盖
-p string
数据表前缀 如: gin_ (default "gin_")
-tb string
模型名称 如:初始化所有(all)单个数据表就填写表名(如:gin_admin) (default "all")
```
按照以上参数可自定义生成数据表模型例如:
```
go run examples/model.go -db=test -tb=wb_user -p=t_ -dsn='root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local'
```### 注意:
1、`time.Time`类型需要import "time",需手动加载2、`decimal.Decimal`类型需要 import "github.com/shopspring/decimal",需手动安装加载