签入版本

This commit is contained in:
小蚂蚁云
2026-10-20 21:53:26 +08:00
parent 5cc3da657c
commit b33799aa63
427 changed files with 32547 additions and 1 deletions
@@ -0,0 +1,79 @@
# 10.7 配置文件详解
:::tip 概述
生成器配置在 config.yaml 的 generator 块:parentMenuId(菜单挂载父级)与 overwrite(覆盖开关,唯一入口)。CLI 与 HTTP 共用同一份配置。
:::
## 配置项
```yaml
generator:
parentMenuId: 189 # 新模块菜单挂载的父级ID
overwrite: false # 是否覆盖已存在文件:true 生成即覆盖,
# false 或未配置时缺失补生成、存在跳过
```
## parentMenuId(菜单挂载位置)
```text
作用:createMenu 创建的主菜单挂到哪个父节点下
默认:189("代码生成"或指定的模块分组菜单 ID)
操作:
1. 菜单管理页面查目标父菜单的 ID
2. 修改 parentMenuId 为该 ID
3. 生成——新模块菜单出现在该父级下(sort=同级 MAX+5)
注意:
* 父级不存在时菜单挂载失败(看 Menu.Message)
* 路径仍为 /{domain}/{moduleCamel}(与挂载位置无关)
```
## overwrite(覆盖开关,唯一入口)
| 值 | 行为 | 适用 |
|----|------|------|
| false / 未配置 | 缺失补生成、存在跳过(Skipped) | **默认/推荐**——保护手工修改 |
| true | 生成即覆盖(Overwritten) | 全新表首次生成;或有意整体重生成 |
::: warning 覆盖风险
overwrite=true 会覆盖同名文件(**包括手工修改过的**)。批量覆盖前:
1. git 提交或备份手工改动
2. 或临时改回 false 按需补生成
3. 覆盖结果单独计入 Overwritten——生成后核对该列表
:::
## 其他相关配置
```yaml
# 数据库(生成器内省元数据的来源)
database:
default:
type: "mysql" # 非 MySQL 内省不到注释/枚举(建议 MySQL 上生成)
link: "..."
# 菜单/字典等副作用还受定稿数据影响(parentMenuId 对应的菜单需存在)
```
## 多环境配置
```text
CLI 与服务读同一份 manifest/config/config.yaml:
本地生成 → 改本地配置
服务器上生成 → 改服务器配置(或 GF_ 环境变量覆盖不改文件)
覆盖开关无环境变量特例时直接改配置文件(生成器为开发期工具,
生产环境通常不部署生成需求)
```
## 配置实践建议
```text
日常开发:overwrite: false(保护手工扩展)
新表首生成:保持 false 即可(文件不存在 = 全新写入)
重新生成同表:
1. 先 false 生成看 Skipped 清单(了解哪些文件已有)
2. 有意覆盖的模块备份后临时 true
3. 生成后 diff 核对合并手工改动
parentMenuId:团队约定统一挂载点(如"开发工具"分组)
```