mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-01-23 02:40:23 +08:00
60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
## 生成模板开发
|
||
|
||
### 自定义生成模板
|
||
|
||
- HotGo允许你新建新的模板分组来满足你的需求,模板可根据现有模板基础拷贝一份出来做改造,默认模板目录:[server/resource/generate/default](../../server/resource/generate/default)
|
||
|
||
- 系统内置了两组CURD生成模板,请参考[生成模板配置](sys-code.md#生成模板配置)。default:是默认的生成到主模块下;addon:是默认生成到指定的插件下
|
||
|
||
|
||
|
||
### 内置gf-cli
|
||
|
||
- 为了确保生成代码的依赖稳定性,在面对`gf`版本更新可能导致向下不兼容情况时,HotGo将`gf-cli`工具内置到系统中并进行在线执行调整,从而提供更可靠和一致的生成代码功能。
|
||
|
||
- 后续我们也将开放在线运行`gf gen ...`功能。在做插件开发时也会支持到在线生成插件下的service接口,这将会使得插件开发更加方便
|
||
|
||
|
||
|
||
### 指定gf-cli版本
|
||
|
||
- HotGo多数情况下会和最新版本的gf-cli保持同步,如果更新不及时或你不想使用最新版本的gf-cli来生成代码,可以找到自己想要的版本进行替换即可。
|
||
|
||
- 下面大致做一些替换步骤说明:
|
||
|
||
1. 打开`github.com/gogf/gf` 找到你想要使用的版本`clone`下来
|
||
2. 将`clone`代码中`gf/cmd/gf/internal/`目录覆盖到`server/internal/library/hggen/internal`
|
||
3. 将覆盖过来的目录文件中引入包名`github.com/gogf/gf/cmd/gf/v2/`批量改为`hotgo/internal/library/hggen/`
|
||
4. 运行`go mod tidy`
|
||
5. 运行`go run main.go`,如果没有报错,那么恭喜你已经完成了。如果有报错一般都是版本差异带来的影响,需要根据情况自行调整
|
||
|
||
|
||
|
||
### 指定数据库驱动
|
||
|
||
> HotGo默认使用mysql驱动,如果你想用其他数据库驱动打开下方文件中注释即可
|
||
|
||
- 修改文件路径:[server/internal/library/hggen/internal/cmd/cmd_gen_dao.go](../../server/internal/library/hggen/internal/cmd/cmd_gen_dao.go)
|
||
|
||
```go
|
||
package cmd
|
||
|
||
import (
|
||
//_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
|
||
//_ "github.com/gogf/gf/contrib/drivers/mssql/v2"
|
||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||
//_ "github.com/gogf/gf/contrib/drivers/oracle/v2"
|
||
//_ "github.com/gogf/gf/contrib/drivers/pgsql/v2"
|
||
//_ "github.com/gogf/gf/contrib/drivers/sqlite/v2"
|
||
|
||
"hotgo/internal/library/hggen/internal/cmd/gendao"
|
||
)
|
||
|
||
type (
|
||
cGenDao = gendao.CGenDao
|
||
)
|
||
|
||
```
|
||
|
||
修改完成后运行`go mod tidy`
|