5拟新增体能业务表
3拟新增共享字段
0结构稿活动 DROP / 业务 DML
一、结论
演示项目 SQL 不能直接执行到江西。江西审核稿保留核心数据契约,但取消破坏性 DROP、不复制演示数据、补唯一索引和查询索引,并修复同一人员同日多场测试分析互相覆盖的问题。
审核文件已放入 kxxl/jxtkssql:precheck、schema、rollback 和 review;当前均未提交、未执行。
二、演示 SQL 与问题
演示项目把体能结构混在根目录 alter.sql:新建 test/staff_test,增加 staff.test_date、sport.status、norm_category.type,并先 DROP 再创建 sport_score、norm_score、test_analysis。
- 两个 CREATE TABLE 末尾缺少分号。
- 评分/分析表先 DROP,存在数据删除风险。
- test_analysis 无 test_uuid,人员+日期唯一会导致同日多场测试覆盖。
- UUID 索引不统一,且没有执行前预检和回滚门禁。
三、江西当前结构
实际只读预检结果:5 张体能表和 3 个字段全部缺失;体能 type=5/3/6 数据均为 0;外键引用表引擎/字符集正常;相关 UUID 无重复;菜单路由冲突为 0。
四、江西拟修改
| 项目 | 审核稿 |
|---|---|
| 新表 | ydy_test、ydy_staff_test、ydy_sport_score、ydy_norm_score、ydy_test_analysis |
| 新字段 | staff.test_date、sport.status、norm_category.type |
| 分析表 | 增加 test_uuid;test_uuid+staff_uuid 唯一;staff_uuid+test_date 用于趋势查询 |
| 完整性 | UUID 统一唯一;测试明细防重复;评分规则保留项目/专项/性别/指标唯一键 |
| 安全 | 结构稿无 DROP 和业务 DML;预检只有 SELECT;回滚 DROP 默认注释 |
| 数据 | 不复制演示人员、测试、分析、地址、指标和评分数据 |
五、代码谱系判断
江西不是单纯旧版本。当前分支是 origin/master 的后代,2807c86 明确删除了体能测试、评分、附件等模块,属于客户定制裁剪。
| 范围 | 比对结果 |
|---|---|
| 江西 application vs 演示 | 392 个本地文件,391 个路径在演示存在;326 相同、65 不同 |
| 江西前端 vs 演示 | 198 个本地文件全部在演示存在;152 相同、46 不同;演示多 35 个文件 |
| origin/master vs 演示前端 | 文件集合均为 233 个;220 个内容相同,仅 13 个不同 |
正确路径:从 Git 主干恢复可追溯模块,对照演示部署差异,再语义合并江西定制;不能用演示代码覆盖江西。
六、审核文件
jxtkssql/fitness_test_jxtks_precheck.sqljxtkssql/fitness_test_jxtks_schema.sqljxtkssql/fitness_test_jxtks_rollback.sqljxtkssql/fitness_test_jxtks_review.md
预检已在开发库执行且结果符合预期;schema 和 rollback 未执行。