3.1 KiB
3.1 KiB
审计记录:废弃独立 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 恢复旧版本
验证步骤
python -c "from orchestration.task_registry import default_registry; print(len(default_registry.get_all_task_codes()))"→ 应输出 52python -c "import ast; ast.parse(open('tests/unit/task_test_utils.py','utf-8').read()); print('OK')"→ 应输出 OKpytest tests/unit -x --ignore=tests/unit/test_dws_tasks.py→ 418 passed, 1 skippedpytest tests/unit/test_doc_coverage_ods.py tests/unit/test_doc_coverage_dwd.py -v→ 全部 passed- 搜索
billiards\.fact_和billiards\.dim_确认文档中无残留引用
无数据库 schema 变更
本次变更仅删除代码和更新文档,不涉及 DDL/migration/表结构变更,无需同步 docs/bd_manual/。