Files
easygoadmin-wiki/EasyGoAdmin_Gin_EleVue/zh/generator/faq.md
T
2026-10-25 17:24:27 +08:00

63 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 快速迭代,确认后再落盘
## 相关
- [10.4 表结构解析与渲染引擎](/zh/generator/code-engine.html)
- [10.6 配置与覆盖策略](/zh/generator/config.html)