80 lines
2.6 KiB
Markdown
80 lines
2.6 KiB
Markdown
# 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:团队约定统一挂载点(如"开发工具"分组)
|
||
```
|