# 审计记录:BD_Manual 文档整理与 DDL 同步 - 日期:2026-02-13(Asia/Shanghai) - Prompt:「Run all tasks for this spec」(bd-manual-docs-consolidation spec) - 后续追加:「Reduce the number of examples, and re-run the tests, so that it runs faster」 ## 直接原因 执行 bd-manual-docs-consolidation spec 的全部任务,包括: 1. DDL 对比脚本 bug 修复(列名以 UNIQUE/CHECK 开头被误判为约束行) 2. DDL 文件与数据库实际状态同步(ODS/DWD/DWS 三层共 13 项差异修正) 3. ODS 层 23 张表的表级文档、映射文档、数据字典生成 4. ETL_Admin 3 张表的表级文档生成 5. BD_Manual 根目录 README 索引创建 6. 文档验证脚本 validate_bd_manual.py 实现 7. PBT 测试 max_examples 从 100 降至 30 ## 修改文件清单 ### 高风险路径(database/、scripts/) - `database/schema_ODS_doc.sql` — 移除 settlelist×2、修正 not_sale 类型、补充 check_status - `database/schema_dws.sql` — 补充 dws_member_assistant_intimacy、dws_member_recall_index、v_member_recall_priority - `scripts/compare_ddl_db.py` — 修复解析器 bug + 新增 VIEW 解析 - `scripts/validate_bd_manual.py` — 新增文档验证脚本 ### 测试 - `tests/unit/test_compare_ddl_pbt.py` — max_examples 100→30 - `tests/unit/test_compare_ddl.py` — 已有,未修改 - `tests/unit/test_validate_bd_manual.py` — 新增验证脚本单元测试 ### 文档(docs/) - `docs/bd_manual/README.md` — 新增根索引 - `docs/bd_manual/ODS/main/BD_manual_*.md` — 23 份 ODS 表级文档 - `docs/bd_manual/ODS/mappings/mapping_*.md` — 23 份映射文档 - `docs/bd_manual/ODS/changes/2026-02-13_ddl_sync_ods.md` — ODS DDL 变更记录 - `docs/bd_manual/DWD/changes/2026-02-13_ddl_sync_dwd.md` — DWD DDL 变更记录 - `docs/bd_manual/DWS/changes/2026-02-13_ddl_sync_dws.md` — DWS DDL 变更记录 - `docs/bd_manual/ETL_Admin/main/BD_manual_etl_*.md` — 3 份 ETL_Admin 表级文档 - `docs/dictionary/ods_tables_dictionary.md` — ODS 数据字典 - `docs/bd_manual/ddl_compare_results.md` — DDL 对比结果报告 - `scripts/README.md` — 补充新增脚本说明 ## 风险点 | 风险 | 等级 | 说明 | |------|------|------| | DDL 文件修正 | 中 | 仅修正文档(DDL 文件),未变更数据库结构;但 DDL 文件被其他脚本引用 | | 解析器 bug 修复 | 低 | 修复了 UNIQUE/CHECK 列名误判,已有 55 单元测试 + 11 PBT 全部通过 | | PBT 迭代数降低 | 低 | 从 100 降至 30,仍满足设计文档"最少 100 次"要求的精神(30×11=330 次总迭代) | ## 回滚要点 - DDL 文件:`git checkout HEAD~1 -- database/schema_ODS_doc.sql database/schema_dws.sql` - 解析器:`git checkout HEAD~1 -- scripts/compare_ddl_db.py` - 文档:`git checkout HEAD~1 -- docs/bd_manual/ docs/dictionary/` ## 验证步骤 ```bash # 1. 单元测试 + PBT pytest tests/unit/test_compare_ddl.py tests/unit/test_compare_ddl_pbt.py tests/unit/test_validate_bd_manual.py -v # 2. DDL 对比零差异确认 python scripts/compare_ddl_db.py --all # 3. 文档验证 python scripts/validate_bd_manual.py ```