3.7 KiB
3.7 KiB
ODS 清理与文档标注 — 审计记录
Prompt-ID: P20260214-070000
日期
2026-02-14(Asia/Shanghai)
原始原因
用户 Prompt(5 项任务合并执行):
- table_fee_discount_records — 添加 8 个 tableProfile 展开字段到 .md 文档
- store_goods_sales_records — 删除 ODS 的 option_name 列
- store_goods_master — 标记 goodsstockwarninginfo 和 time_slot_sale 为忽略
- member_stored_value_cards — 删除 ODS 的 able_site_transfer 列
- group_buy_packages — 标记 tableareanamelist 和 tenanttableareaidlist 为忽略
直接原因
API vs ODS 比对报告(v3-fixed)中发现:
- 2 个 ODS 列(option_name、able_site_transfer)在 API JSON 中不存在且全 NULL → 删除
- 4 个 API 独有字段(goodsstockwarninginfo、time_slot_sale、tableareanamelist、tenanttableareaidlist)暂无入 ODS 需求 → 文档标记忽略
- 8 个 tableProfile 展开字段已存在于 ODS 但未在 API 文档中记录 → 补充文档
Changed
| 文件 | 变更类型 | 说明 |
|---|---|---|
billiards_ods.store_goods_sales_records |
DB DROP COLUMN | 删除 option_name 列 |
billiards_ods.member_stored_value_cards |
DB DROP COLUMN | 删除 able_site_transfer 列 |
database/migrations/20260214_drop_ods_option_name_able_site_transfer.sql |
新建 | 迁移脚本 |
database/schema_ODS_doc.sql |
修改 | 注释化两列定义 |
docs/api-reference/table_fee_discount_records.md |
修改 | 新增 4.7 ODS 展开字段章节 + AI_CHANGELOG |
docs/api-reference/store_goods_master.md |
修改 | goodsstockwarninginfo/time_slot_sale 标记"暂不入 ODS" |
docs/api-reference/group_buy_packages.md |
修改 | tableareanamelist/tenanttableareaidlist 标记"暂不入 ODS" |
scripts/run_compare_v3_fixed.py |
修改 | 移除 option_name/able_site_transfer 的分类条目 |
scripts/ods_columns.json |
修改 | 移除两列 |
docs/reports/api_ods_comparison_v3_fixed.md |
重新生成 | ODS 独有 12→2,完全对齐 15→18 |
docs/bd_manual/ODS/20260214_drop_ods_option_name_able_site_transfer.md |
已创建 | BD Manual 变更记录 |
Risk / Verify
- 风险:ODS 入库 INSERT/UPSERT 语句中若包含 option_name/able_site_transfer 需移除(已确认 DWD 层无映射)
- 回归范围:ODS 抓取任务(store_goods_sales_records、member_stored_value_cards)
- 验证步骤:
SELECT column_name FROM information_schema.columns WHERE table_schema='billiards_ods' AND table_name='store_goods_sales_records' AND column_name='option_name';→ 0 行SELECT column_name FROM information_schema.columns WHERE table_schema='billiards_ods' AND table_name='member_stored_value_cards' AND column_name='able_site_transfer';→ 0 行python scripts/run_compare_v3_fixed.py→ API独有=4, ODS独有=2
DB 结构变更回滚
ALTER TABLE billiards_ods.store_goods_sales_records ADD COLUMN option_name TEXT;
ALTER TABLE billiards_ods.member_stored_value_cards ADD COLUMN able_site_transfer INTEGER;
注意:回滚后两列数据均为 NULL(与删除前一致),无数据丢失。
变更影响审查结论
- 判定:本轮为「逻辑改动」(DB schema 变更:删除 2 个 ODS 列)
- 评估范围:product.md / tech.md / structure.md / README.md / gui/README.md / docs/README.md / scripts/README.md / tasks/README.md / tests/README.md / database/README.md
- 需更新:
database/README.md(迁移脚本列表新增20260214_drop_ods_option_name_able_site_transfer.sql) - 无需更新:其余 9 个文档(本次变更不影响产品功能、技术栈、项目结构、运行方式)
- BD Manual:已在
docs/bd_manual/ODS/20260214_drop_ods_option_name_able_site_transfer.md中同步