66 lines
3.7 KiB
Markdown
66 lines
3.7 KiB
Markdown
# ODS 清理与文档标注 — 审计记录
|
||
|
||
> Prompt-ID: P20260214-070000
|
||
|
||
## 日期
|
||
|
||
2026-02-14(Asia/Shanghai)
|
||
|
||
## 原始原因
|
||
|
||
用户 Prompt(5 项任务合并执行):
|
||
1. table_fee_discount_records — 添加 8 个 tableProfile 展开字段到 .md 文档
|
||
2. store_goods_sales_records — 删除 ODS 的 option_name 列
|
||
3. store_goods_master — 标记 goodsstockwarninginfo 和 time_slot_sale 为忽略
|
||
4. member_stored_value_cards — 删除 ODS 的 able_site_transfer 列
|
||
5. 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)
|
||
- 验证步骤:
|
||
1. `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 行
|
||
2. `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 行
|
||
3. `python scripts/run_compare_v3_fixed.py` → API独有=4, ODS独有=2
|
||
|
||
## DB 结构变更回滚
|
||
|
||
```sql
|
||
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` 中同步
|