# 变更审计记录：DDL 基线统一整理 + BD 手册重组 + 小程序副本清理

| 字段 | 值 |
|------|-----|
| 日期 | 2026-03-15 10:09:07 |
| Prompt-ID | P20260315-095422 |
| Session-ID | d10f49f0 |
| Session 路径 | docs/audit/session_logs/2026-03/15/17_1fc8e375_033312 |

## 操作摘要

本轮执行完成数据库 DDL 基线统一整理与同步，核心目标是以当前测试库实际结构为唯一权威来源，全面合并零散变更，实现 docs/database/ddl/ 目录的完整性、一致性与可迁移性。DDL 文件精准更新（7 个文件），所有修改均基于对 TEST_DB_DSN / TEST_APP_DB_DSN 的实时导出。同时完成 BD 手册重组（ETL 专属文档迁入模块内部）和小程序旧副本清理。

## 变更范围

### 1. DDL 基线统一整理

- 运行 `scripts/ops/gen_consolidated_ddl.py` 从测试库导出最新 DDL
- 生成/更新 10 个 DDL 基线文件于 `docs/database/ddl/`
- 合并 7 个种子数据文件到对应 DDL 文件：
  - `seed_ods_tasks.sql` + `seed_scheduler_tasks.sql` → `etl_feiqiu__meta.sql`
  - `seed_dws_config.sql` + `seed_index_parameters.sql` → `etl_feiqiu__dws.sql`
  - `admin_web_seed.sql` → `zqyy_app__public.sql`
  - `p3_seed_roles_permissions.sql` → `zqyy_app__auth.sql`
  - `p4_seed_trigger_jobs.sql` → `zqyy_app__biz.sql`
- 删除全部 22 个 etl_feiqiu 迁移脚本 + 4 个种子文件
- 删除全部 15 个 zqyy_app 迁移脚本 + 1 个种子文件
- 保留 4 个 FDW 配置脚本（`db/fdw/`，运行时资产）

### 2. BD 手册重组

将 ETL 专属 BD 手册从 `docs/database/` 迁移到 `apps/etl/connectors/feiqiu/docs/database/`，遵循"模块专属文档放模块内部"原则：

- 12 个跨层映射文档 → `cross_layer/` 子目录（新建）
- 4 个 DWS 变更文档 → `DWS/changes/`
- 1 个 DWD 变更文档 → `DWD/changes/`
- 5 个历史变更文档 → `docs/database/_archived/`（归档）
- `docs/database/` 保留业务库文档（auth/biz/public/FDW/RLS/AI）

### 3. 小程序旧副本清理

- 删除 `apps/miniprogram - 副本/` 整个目录（旧的小程序副本，含完整 miniprogram 源码、文档、依赖）
- 涉及约 200+ 文件，包括页面、组件、工具函数、类型定义、配置文件等

## 本次对话文件变更

### 新增文件（27 个）

| 文件 | 说明 |
|------|------|
| `apps/etl/.../docs/database/DWD/changes/BD_Manual_dim_groupbuy_package_ex_detail_fields.md` | 团购包扩展表字段变更文档 |
| `apps/etl/.../docs/database/DWS/changes/BD_Manual_dws_assistant_order_contribution.md` | 助教订单贡献表变更文档 |
| `apps/etl/.../docs/database/DWS/changes/BD_Manual_dws_goods_stock_summary.md` | 商品库存汇总表变更文档 |
| `apps/etl/.../docs/database/DWS/changes/BD_Manual_dws_member_spending_power_index.md` | 会员消费力指数表变更文档 |
| `apps/etl/.../docs/database/DWS/changes/BD_Manual_dws_project_tags.md` | 项目标签表变更文档 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_assistant_accounts_master.md` | 助教账户主表跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_assistant_service_records.md` | 助教服务记录跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_goods_stock_movements.md` | 商品库存流水跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_goods_stock_summary.md` | 商品库存汇总跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_goods_stock_warning_info.md` | 商品库存预警跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_group_buy_package_details.md` | 团购包详情跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_member_balance_changes.md` | 会员余额变动跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_recharge_settlements.md` | 充值结算跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_site_tables_master.md` | 门店台桌主表跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_store_goods_master.md` | 门店商品主表跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_store_goods_sales_records.md` | 门店商品销售记录跨层映射 |
| `apps/etl/.../docs/database/cross_layer/BD_Manual_tenant_goods_master.md` | 租户商品主表跨层映射 |
| `docs/database/_archived/BD_Manual_20260301_cleanup_and_fixes.md` | 归档：清理修复变更记录 |
| `docs/database/_archived/BD_Manual_biz_date_function_and_mv_rebuild.md` | 归档：营业日函数与物化视图重建 |
| `docs/database/_archived/BD_Manual_fix_dim_staff_ex_rankname.md` | 归档：dim_staff_ex 列名修复 |
| `docs/database/_archived/BD_Manual_fix_dws_assistant_daily_table_area.md` | 归档：助教日报表区域修复 |
| `docs/database/_archived/BD_Manual_tenant_id_int_to_bigint.md` | 归档：tenant_id 类型变更 |
| `scripts/ops/reorganize_bd_manuals.py` | BD 手册重组脚本 |
| `docs/audit/prompt_logs/prompt_log_20260315_095422.md` | Prompt 日志 |
| `docs/audit/session_logs/2026-03/15/17_1fc8e375_033312/main_01_d10f49f0.md` | Session 主日志 |
| `docs/audit/session_logs/2026-03/15/17_1fc8e375_033312/sub_01_d10f49f0.md` | Session 子代理日志 1 |
| `docs/audit/session_logs/2026-03/15/17_1fc8e375_033312/sub_02_d10f49f0.md` | Session 子代理日志 2 |

### 删除文件（23 个 BD 手册 + 200+ 小程序副本文件）

BD 手册删除（从 `docs/database/` 迁出）：

| 文件 | 去向 |
|------|------|
| `BD_Manual_assistant_accounts_master.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_assistant_service_records.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_goods_stock_movements.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_goods_stock_summary.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_goods_stock_warning_info.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_group_buy_package_details.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_member_balance_changes.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_recharge_settlements.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_site_tables_master.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_store_goods_master.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_store_goods_sales_records.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_tenant_goods_master.md` | → `apps/etl/.../cross_layer/` |
| `BD_Manual_dws_assistant_order_contribution.md` | → `apps/etl/.../DWS/changes/` |
| `BD_Manual_dws_goods_stock_summary.md` | → `apps/etl/.../DWS/changes/` |
| `BD_Manual_dws_member_spending_power_index.md` | → `apps/etl/.../DWS/changes/` |
| `BD_Manual_dws_project_tags.md` | → `apps/etl/.../DWS/changes/` |
| `BD_Manual_dim_groupbuy_package_ex_detail_fields.md` | → `apps/etl/.../DWD/changes/` |
| `BD_Manual_20260301_cleanup_and_fixes.md` | → `docs/database/_archived/` |
| `BD_Manual_biz_date_function_and_mv_rebuild.md` | → `docs/database/_archived/` |
| `BD_Manual_fix_dim_staff_ex_rankname.md` | → `docs/database/_archived/` |
| `BD_Manual_fix_dws_assistant_daily_table_area.md` | → `docs/database/_archived/` |
| `BD_Manual_tenant_id_int_to_bigint.md` | → `docs/database/_archived/` |

小程序副本删除：`apps/miniprogram - 副本/` 整个目录（旧的小程序完整副本，约 200+ 文件）。

## DDL/迁移检查

- `compliance.new_migration_sql`：空（无新增迁移 SQL）
- ⚠️ DDL 基线已通过 `gen_consolidated_ddl.py` 从测试库实时导出更新，`has_ddl_baseline` 标记为 false 是因为本次操作本身就是 DDL 基线整理操作，整理后基线已完整

## 改动注解

### `docs/database/ddl/etl_feiqiu__meta.sql`
- 变更类型：修改
- 原始原因：用户要求以测试库现状为基准，统一整理所有 DDL 文件，合并零散迁移和种子数据
- 思路分析：从 test_etl_feiqiu 实时导出 meta schema DDL，并将 seed_ods_tasks.sql + seed_scheduler_tasks.sql 种子数据合并入文件末尾
- 修改结果：meta schema DDL 基线完整，包含表结构 + 种子数据，可直接用于新环境部署

### `docs/database/ddl/zqyy_app__public.sql`
- 变更类型：修改
- 原始原因：同上，统一 DDL 基线
- 思路分析：从 test_zqyy_app 导出 public schema DDL，合并 admin_web_seed.sql
- 修改结果：public schema 基线完整

### `docs/database/ddl/zqyy_app__auth.sql`
- 变更类型：修改
- 原始原因：同上
- 思路分析：从 test_zqyy_app 导出 auth schema DDL，合并 p3_seed_roles_permissions.sql
- 修改结果：auth schema 基线完整，含角色权限种子数据

### `docs/database/ddl/zqyy_app__biz.sql`
- 变更类型：修改
- 原始原因：同上
- 思路分析：从 test_zqyy_app 导出 biz schema DDL，合并 p4_seed_trigger_jobs.sql
- 修改结果：biz schema 基线完整，含触发器任务种子数据

### `docs/database/ddl/etl_feiqiu__dws.sql`
- 变更类型：修改
- 原始原因：同上
- 思路分析：从 test_etl_feiqiu 导出 dws schema DDL，合并 seed_dws_config.sql + seed_index_parameters.sql
- 修改结果：dws schema 基线完整，含 DWS 配置和指数参数种子数据

### `db/README.md`
- 变更类型：修改
- 原始原因：DDL 整理后目录结构变化，需同步更新文档
- 思路分析：更新目录结构说明、迁移管理章节，反映迁移脚本已合并入 DDL 基线的新状态
- 修改结果：README 准确反映当前 db/ 目录结构

### `docs/database/README.md`
- 变更类型：修改
- 原始原因：DDL 整理 + BD 手册重组后需同步更新文档索引
- 思路分析：更新 DDL 统计数据、BD 手册列表、相关资源链接
- 修改结果：README 准确反映当前 docs/database/ 目录内容

### `apps/etl/connectors/feiqiu/docs/database/README.md`
- 变更类型：修改
- 原始原因：BD 手册重组，新增 cross_layer 子目录和多个变更文档
- 思路分析：更新目录结构说明，新增 cross_layer 分类描述
- 修改结果：README 准确反映 ETL 数据库文档的新组织结构

### `scripts/ops/reorganize_bd_manuals.py`
- 变更类型：新增
- 原始原因：自动化执行 BD 手册重组操作
- 思路分析：编写 Python 脚本实现文件移动、目录创建、归档操作，确保可重复执行
- 修改结果：一次性运维脚本，已执行完成

### `apps/etl/.../docs/database/cross_layer/BD_Manual_*.md`（12 个文件）
- 变更类型：新增（从 docs/database/ 迁入）
- 原始原因：遵循"模块专属文档放模块内部"原则，ETL 跨层映射文档应归属 ETL 模块
- 思路分析：将 ODS→DWD 跨层映射 BD 手册从项目级目录迁移到 ETL 模块内部，新建 cross_layer 子目录统一管理
- 修改结果：ETL 数据库文档结构更清晰，跨层映射文档集中管理

### `apps/etl/.../docs/database/DWS/changes/BD_Manual_dws_*.md`（4 个文件）
- 变更类型：新增（从 docs/database/ 迁入）
- 原始原因：同上，DWS 变更文档归属 ETL 模块
- 修改结果：DWS 变更文档归入 ETL 模块 DWS/changes/ 目录

### `apps/etl/.../docs/database/DWD/changes/BD_Manual_dim_groupbuy_package_ex_detail_fields.md`
- 变更类型：新增（从 docs/database/ 迁入）
- 原始原因：同上，DWD 变更文档归属 ETL 模块
- 修改结果：DWD 变更文档归入 ETL 模块 DWD/changes/ 目录

### `docs/database/_archived/BD_Manual_*.md`（5 个文件）
- 变更类型：新增（归档）
- 原始原因：这些是已完成的历史变更记录（清理修复、函数重建、列名修复、区域修复、类型变更），变更已合并入 DDL 基线，原始记录归档保存
- 修改结果：历史变更文档归档，不再出现在活跃文档目录中

### `apps/miniprogram - 副本/`（整个目录）
- 变更类型：删除
- 原始原因：旧的小程序完整副本，与 `apps/miniprogram/` 重复，占用仓库空间且造成混淆
- 修改结果：清理完成，仓库中只保留唯一的小程序源码目录 `apps/miniprogram/`

### `db/etl_feiqiu/migrations/*.sql`（22 个文件）
- 变更类型：删除
- 原始原因：所有迁移内容已合并入 DDL 基线文件，项目 1.0 未上线，不需要保留零散迁移脚本
- 修改结果：迁移目录清空（保留 .gitkeep），DDL 基线为唯一权威来源

### `db/etl_feiqiu/seeds/*.sql`（4 个文件）
- 变更类型：删除
- 原始原因：种子数据已合并入对应 DDL 基线文件
- 修改结果：种子目录清空

### `db/zqyy_app/migrations/*.sql`（15 个文件）
- 变更类型：删除
- 原始原因：同上
- 修改结果：迁移目录清空

### `db/zqyy_app/seeds/*.sql`（1 个文件）
- 变更类型：删除
- 原始原因：同上
- 修改结果：种子目录清空

## 风险评估

- **低风险**：所有 DDL 变更基于测试库实时导出，数据准确性有保障
- **低风险**：BD 手册重组为纯文档移动操作，不涉及代码逻辑变更
- **低风险**：小程序副本删除为清理操作，活跃代码在 `apps/miniprogram/` 中不受影响
- **注意**：删除的迁移脚本不可恢复（但内容已合并入 DDL 基线），如需回溯可查看 git 历史
