Files
2026-10-25 17:24:27 +08:00

2.2 KiB
Raw Permalink Blame History

10.8 常见问题

:::tip 概述 生成器问题多集中在"推断不符预期"与"覆盖策略"两类。核心原则:表注释是推断的输入质量,overwrite 是手写内容的安全阀。 :::

生成内容类

Q:枚举列没有生成字典和 SerializeMaps?

列注释须含标准枚举形态:1-在用 2-停用(取值-含义,空格分隔)。改 COMMENT 后重新生成。

Q:树形表生成了普通页面?

确认 parent_id 列存在且注释正常(父级ID)。树形识别依赖 parent_id 列。

Q:唯一性校验没生成?

UniqueFields 推断自 uk_ 前缀唯一索引——检查表上是否建了 uk_ 索引。

Q:文件字段没有转正声明?

文件列的识别依赖列语义(列名/注释)。必要时生成后手工在 FileFields 声明中补上。

落盘与覆盖类

Q:生成后手写内容丢了?

overwrite=true 会覆盖全部产物。有手写内容的模块必须 overwrite=false(或生成前提交 git 便于回滚)。

Q:router.go 生成了重复声明?

不会——声明块按模块标记幂等追加。若手工在块内加了方法,重新生成时非标准手工方法仍保留(声明块外的手写 handler 方法不受影响)。

Q:菜单重复创建?

菜单创建幂等(按名称/路径判定)。看到重复菜单时检查是否手工建过同名不同路径的菜单。

运行类

Q:Web 界面 404?

generator.enable=false 时生成器路由整体不注册。确认配置后重启。

Q:生产环境能打开生成器?

不正常。生产必须 enable=false;app.prod=true 时启动校验会直接拒绝这种组合。

Q:CLI 报数据库连接失败?

生成器需要连库内省。检查 database 配置;它不依赖 Redis(仅内省)。

效率建议

  • 建表评审时就按生成器的推断输入(注释/索引/列名)把关——源头质量决定产物质量
  • 团队统一 overwrite 策略,避免"我这边覆盖了你那边跳过"的协作事故
  • 模板定制走 preview 快速迭代,确认后再落盘

相关