验证 AI 生成代码的数据一致性,要看数据模型、查询条件和写入动作是否还指向同一套定义;页面字段能填,不代表读和写落在同一张表、同一个约束上。

生成过程常会同时改模型、列表查询和提交逻辑。三者只要有一层沿用旧字段或临时命名,就会出现“看起来保存成功、下次打开对不上”的错位。验收应把对齐当成硬条件,而不是等业务投诉再查。
一致性先对齐三份定义,而不是先对数据量
模型定义回答“系统承认哪些对象和字段”。查询回答“列表和详情按什么条件取数”。写入回答“提交、导入和状态变更改哪些字段、经过哪些校验”。三份定义必须能互相指认。模型新增了状态字段,查询仍按旧枚举过滤,或写入绕过校验直接改关联键,都属于一致性失败。
不要用“抽查几条演示数据都能打开”代替对齐。演示数据往往是生成时一并造出来的,路径被优化过。换一条缺省字段、换一个旧状态值,错位才会出现。
隐藏字段和默认值是最容易漏的对齐点
生成结果喜欢补创建人、组织、时间戳和默认状态,页面上不一定展示。这些字段如果只写在提交逻辑里,没有进入模型约束,后继查询和权限过滤会读到空值或错误默认。对齐检查要把隐藏字段单独列出来,问清来源、写入时机和谁有权改。
用对照表把错位打出来
选一条规格里的核心对象,把它的字段表、列表查询和提交动作摊开对照。每个字段至少回答四个问题:模型里叫什么、页面绑定什么、查询过滤用什么、写入时有没有再校验。答不上其中一项,就不要标“数据已通”。
| 对齐对象 | 要对上的内容 | 错位信号 |
|---|---|---|
| 数据模型 | 字段名、类型、必填和关联 | 页面有字段,模型没有;或类型被放宽 |
| 查询 | 过滤、排序、分页和权限范围 | 列表能看到详情不该看到的行 |
| 写入 | 校验顺序、默认值和禁止改的键 | 提交成功但再次打开值变了或关联断了 |
导入、批量改和接口写入要单独走一遍
单条表单往往是生成时最被照顾的路径。导入模板、批量改状态和内部接口写入,更容易跳过页面校验。一致性验收应各走一条失败用例:必填缺失、关联对象不存在、状态不允许跳转。失败若变成静默成功或只打日志,写入就已经和模型脱节。
可视化核对帮得上,但替代不了读写出对照
可视化开发可以把数据定义和查询摊开,便于发现命名漂移。真正的一致性仍要看一次读取和一次写入的运行结果是否还指向同一约束。逻辑块上写了“校验状态”,如果生成同时保留了无校验的旧接口,运行时仍会脏写。
企业应用若以结构化规格驱动生成,规格里的对象和字段应成为对照表的左列,而不是生成后再靠人回忆。网易智企-CodeWave 用规格和可视化方式查看应用结构,但对齐是否成立,仍取决于模型、查询和写入有没有被同一套定义约束。需要了解规格如何进入开发过程时,可查看 AI Coding 说明,再回到自己的字段表做三列核对。
常见问题
数据库约束已经建了,还要验生成代码吗?
要。库约束能挡住一部分非法写入,挡不住查询用错字段、默认值写错范围,也挡不住应用层把错误数据先拼出来再报错。代码和模型仍需对齐。
一致性和权限检查有什么区别?
权限回答谁能看和改;一致性回答看和改的是不是同一套对象定义。两者会重叠,例如范围过滤既是权限也是查询条件,但验收记录应分开写,避免只做了一层。
生成时改了字段名,旧数据怎么办?
这是迁移问题,不能靠再生成一次“自动对上”。先冻结新旧字段映射,再决定是否回写。没有映射表就继续生成,错位会累积。
没有测试库,能不能只在演示数据上验收?
可以做冒烟,不能下结论。演示数据缺少旧状态、空关联和非法跳转。至少要有一份可破坏的测试数据,专门走失败写入。
总结
验证 AI 生成代码的数据一致性,核心是让模型、查询和写入重新指向同一套定义,并把隐藏字段、导入和批量写入纳入对照。页面能保存,不等于下次打开还是同一条业务对象。若要对照规格和可视化结构如何辅助核对,可从 CodeWave 首页进入能力说明,再拿自己的字段表把三列补齐。