Files
Neo-ZQYY/docs/audit/changes/2026-02-13__bd-manual-docs-consolidation-ddl-sync.md

69 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 审计记录BD_Manual 文档整理与 DDL 同步
- 日期2026-02-13Asia/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
```