Hello,我是Rocket
这是我参与更文挑战的第1天,活动详情查看:2021最后一次更文挑战
引言
- 新增了cmd工具,能支持生成读取mysql表生成Model、以及初始化表和表数据,源码就在项目里
- github传送门
- 喜欢的铁子们给点个star
1、make:model 支持读取mysql生成Model
代码在项目cmd/make-model.go
1 | erlang复制代码package main |
主要调用tool下table2struct.go
1 | arduino复制代码//1、校验mysql链接 |
我们做了一个比较有意思的处理;
1 | c复制代码type SysRule struct { |
如果包含id,created_at,updated_at,deleted_at会合并成下边的model
1 | c复制代码type SysRule struct { |
2、initdb 初始化表和表数据
代码在项目cmd/initdb.go
1 | arduino复制代码//初始化表结构 |
3、make:mysql 通过识别model生成mysql数据表
代码在项目cmd/make-mysql.go
1、在app/models/mysql.go 新增map用户存储实例化model的方法
1 | go复制代码var AutoMigratFunc = make(map[string]func() interface{}) |
2、参考app/models/test.go 主要靠init方法注册
1 | csharp复制代码 |
3、具体生成方法 cmd/initdata/init.go AutoMigrate方法
1 | lua复制代码func AutoMigrate(db *gorm.DB, table string) { |
4、后续计划
计划支持支持生成controller、service、view
- 系列文章
- 连载一 golang环境搭建
- 连载二 安装Gin
- 连载三 定义目录结构
- 连载四 搭建案例API1
- 连载五 搭建案例API2
- 连载六 接入swagger接口文档
- 连载七 日志组件
- 连载八 优雅重启和停止
- 连载番外 Makefile构建
- 连载番外 Cron定时任务
- 连载番外 打造命令行工具
- 连载番外 3天打造专属Cache(First day)
- 连载番外 3天打造专属Cache(Second day)
- 连载番外 3天打造专属Cache(Third day)
- gin框架实践[Go-Gin_Api]2.0
本文转载自: 掘金