10.7 配置文件详解
概述
生成器配置在 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) | 全新表首次生成;或有意整体重生成 |
覆盖风险
overwrite=true 会覆盖同名文件(包括手工修改过的)。批量覆盖前:
- git 提交或备份手工改动
- 或临时改回 false 按需补生成
- 覆盖结果单独计入 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:团队约定统一挂载点(如"开发工具"分组)