Skip to content

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 会覆盖同名文件(包括手工修改过的)。批量覆盖前:

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

小蚂蚁云团队 · 提供技术支持