订单表新增 3 个字段,重新生成会把 controller 里 150 行手写校验冲掉,只能照着 diff 一行行抄回去。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

node bin/gen.js --module order --incremental --diff
git diff --stat src/modules/order

生成器没有增量模式,每次都是全量覆盖。模板输出和手写代码混在同一个文件里,没有分区标记。这一点先确认清楚,后面就不用反复试。

碰到「生成器增量」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

具体做法是,给可再生成的部分加开始和结束标记 增量只替换标记内的内容;生成前用 git 确认工作区干净;提供 --diff 模式 先看将要改哪些行;字段变更单独走一次迁移脚本 不重新生成整个模块。

改完照着核一遍,加字段后增量生成 controller 里手写的 150 行校验原样保留 diff 只有 3 个字段相关行。

作者 9823189