Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hanson/hertz-starter-kit
基于 hertz 做的脚手架
https://github.com/hanson/hertz-starter-kit
Last synced: 24 days ago
JSON representation
基于 hertz 做的脚手架
- Host: GitHub
- URL: https://github.com/hanson/hertz-starter-kit
- Owner: Hanson
- Created: 2023-04-09T16:11:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-28T10:51:52.000Z (4 months ago)
- Last Synced: 2024-06-28T12:09:53.902Z (4 months ago)
- Language: Go
- Size: 113 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#hertz-starter-kit
一个基于 hertz 的脚手架工具,开箱即用,对 gorm,protobuf 等内容做了些封装,方便快速开发。
# 特性支持
* 支持 proto 生成 model
* 通过 make 命令快捷生成 pb
* 对所有 proto model 的 string 做了默认 varchar(100)# 环境
```
go install github.com/cloudwego/hertz/cmd/hz@latest
go install github.com/favadi/protoc-go-inject-tag@latest
```# 下载运行
```
git clone https://github.com/Hanson/hertz-starter-kit
cd hertz-starter-kit
go run .
```# 开发
可以全局搜索 hertz-starter-kit, 用你的包名替换掉## db
项目默认使用 MySQL,如有其它需求需要修改,详情看 db 文件夹* 所有 Model 都需要有 id, created_at, updated_at, deleted_at, 并为 int64
* proto 编写 Model 开头的结构体,创建的时候可自动移出前缀 model_, 详情看 db/naming.go:35
* 对所有 proto model 的 string 做了默认 varchar(100), 详情看 db/migrator.go:29
* 对所有 proto text 改为 not null false
* 对 DeletedAt 进行默认 0
* db 使用可以用 db.NewInstance 或者 db.NewModel
* 强制传参 ctx## proto
* curd 的开发可以直接复制 idl/README.md,把你的 model 替换掉 demo 即可
* 执行命令 make update p=path 即可更新 pb,path 为 idl 里面的相对路径# 运维
## 日志查找
每个请求都会有 trace_id,开发者需要对 context 作为传参并输出到log,可使用 `./trace.sh ` 进行查找。