41 lines
3.1 KiB
Markdown
41 lines
3.1 KiB
Markdown
# 审计记录:废弃独立 ODS/DWD 任务代码清理 + 文档同步
|
||
|
||
- 日期: 2026-02-14 (Asia/Shanghai)
|
||
- Prompt: 用户要求"扩大搜索面,对 loaders/, scripts/, tasks/, tests/ 等文件夹进行仔细搜索,一次性的删除掉这些残留,然后对 docs/etl_tasks 下的文档仔细检查,更新或重写,保证符合现实情况"
|
||
- 直接原因: 14 个独立 ODS 任务和 3 个独立 DWD 任务写入不存在的 `billiards.*` schema(无 DDL 定义),已被通用 ODS 任务(`billiards_ods.*`)和 `DWD_LOAD_FROM_ODS` 的 TABLE_MAP 完全替代。代码文件已在前一轮删除,但残留了测试工具中的废弃引用、注册表中的重复循环、以及文档中的过时内容。
|
||
|
||
## 修改文件清单
|
||
|
||
| 文件 | 变更类型 | 说明 |
|
||
|------|----------|------|
|
||
| `orchestration/task_registry.py` | 修改 | 删除底部重复的 `ODS_TASK_CLASSES` 注册循环(与顶部重复) |
|
||
| `tests/unit/task_test_utils.py` | 修改 | 删除废弃的 14 个 TaskSpec 定义(~370 行)+ 废弃 import;修复 IndentationError 语法错误 |
|
||
| `docs/etl_tasks/ods_tasks.md` | 重写 | 删除整个"独立 ODS 任务"章节(14 个任务的详细文档),仅保留"通用 ODS 任务"章节 |
|
||
| `docs/etl_tasks/dwd_tasks.md` | 修改 | 删除 TICKET_DWD/PAYMENTS_DWD/MEMBERS_DWD 三个废弃任务章节;概述表从 5 个任务改为 2 个 |
|
||
| `docs/etl_tasks/README.md` | 修改 | 删除独立 ODS 任务表格(14 行);删除 3 个废弃 DWD 任务行;更新文档索引描述;修正命令示例 |
|
||
| `.kiro/steering/tech.md` | 修改 | Schema 列表从 `billiards`(不存在)改为 `billiards_ods`;修正 `--pipeline-flow` 为 `--data-source` |
|
||
|
||
## 风险点
|
||
|
||
- `orchestration/task_registry.py` 是任务注册的核心入口,删除重复循环后需确认 52 个任务全部正确注册
|
||
- `tests/unit/task_test_utils.py` 的 `TASK_SPECS` 现在为空列表,依赖它的参数化测试会 skip(预期行为)
|
||
- 文档重写后,所有 `billiards.*` 引用已清除,仅保留 `billiards_ods.*`/`billiards_dwd.*`/`billiards_dws.*`
|
||
|
||
## 回滚要点
|
||
|
||
- `orchestration/task_registry.py`:恢复底部的 `for code, task_cls in ODS_TASK_CLASSES.items()` 循环(功能上无影响,只是重复注册)
|
||
- `tests/unit/task_test_utils.py`:从 git 恢复废弃 TaskSpec 定义(但会导致 import 错误,因为源文件已删除)
|
||
- 文档:从 git 恢复旧版本
|
||
|
||
## 验证步骤
|
||
|
||
1. `python -c "from orchestration.task_registry import default_registry; print(len(default_registry.get_all_task_codes()))"` → 应输出 52
|
||
2. `python -c "import ast; ast.parse(open('tests/unit/task_test_utils.py','utf-8').read()); print('OK')"` → 应输出 OK
|
||
3. `pytest tests/unit -x --ignore=tests/unit/test_dws_tasks.py` → 418 passed, 1 skipped
|
||
4. `pytest tests/unit/test_doc_coverage_ods.py tests/unit/test_doc_coverage_dwd.py -v` → 全部 passed
|
||
5. 搜索 `billiards\.fact_` 和 `billiards\.dim_` 确认文档中无残留引用
|
||
|
||
## 无数据库 schema 变更
|
||
|
||
本次变更仅删除代码和更新文档,不涉及 DDL/migration/表结构变更,无需同步 `docs/bd_manual/`。
|