Files
Neo-ZQYY/docs/audit/changes/2026-02-13__api-ods-comparison.md

2.3 KiB
Raw Permalink Blame History

审计记录API JSON 字段 vs ODS 表列对比

  • 日期2026-02-13 (Asia/Shanghai)
  • Prompt-IDP20260213-210000
  • 原始 Prompt

用新梳理的API返回的JSON文档docs\api-reference比对数据库的ODS层是否和Json一致? 给我个对比结论文档。将不同的内容通过SQL语句将ODS各表与返回的JSON字段结构对齐。 续接不是你需要查询数据库不要依赖DDL

直接原因

用户需要验证 ODS 层数据库表结构是否与上游 API 返回的 JSON 字段一致。 方案:编写 Python 脚本查询 billiards_ods schema 的 information_schema.columns 解析 docs/api-reference/endpoints/*.md 中的响应字段表,做 camelCase→snake_case 归一化匹配。

修改文件清单

文件 操作 说明
scripts/compare_api_ods.py 新建 比对脚本(查询 DB + 解析 MD + 归一化匹配)
docs/reports/api_ods_comparison.md 新建 Markdown 对比报告
docs/reports/api_ods_comparison.json 新建 JSON 格式对比数据
database/migrations/20260213_align_ods_with_api.sql 新建 迁移文件(结论:无需变更)
docs/ai_audit/prompt_log.md 追加 Prompt 日志
docs/ai_audit/changes/2026-02-13__api-ods-comparison.md 新建 本审计记录

比对结论

  • 22 张 ODS 表全部与 API JSON 字段对齐,无需任何 ALTER 操作
  • 大量字段差异为 camelCase vs lowercase 命名风格差异,归一化后全部匹配
  • stock_goods_category_tree 的 2 个"缺失"为响应包装层字段(goodsCategoryList/totalODS 已正确展开存储
  • 66 个 ODS "多余"列为 ETL 框架自行添加的辅助列(如 tenant_idsettlelistreal_service_money 等)

风险评估

  • 风险等级:低
  • 本次无逻辑改动,无数据库结构变更,无 ETL 行为变化
  • 新建的比对脚本为只读分析工具,不修改任何数据
  • 回归范围:无
  • 验证方式:python scripts/compare_api_ods.py 重新执行确认输出一致

回滚要点

无需回滚(未执行任何数据库变更)。如需清理:

  • 删除 scripts/compare_api_ods.py
  • 删除 docs/reports/api_ods_comparison.md.json
  • 删除 database/migrations/20260213_align_ods_with_api.sql