Files
Neo-ZQYY/docs/audit/changes/2026-02-14__legacy-ods-dwd-cleanup.md

3.1 KiB
Raw Permalink Blame History

审计记录:废弃独立 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.pyTASK_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/