# 变更审计记录：DDL 合并 — rejection_count + cancelled 状态

| 字段 | 值 |
|------|-----|
| 日期 | 2026-03-23 01:47:59 |
| Prompt-ID | P20260323-013317 |
| Session-ID | af624a77 |
| Session 路径 | docs/audit/session_logs/2026-03/23/04_7a0da2a2_004044 |

## 操作摘要

将 2026-03-23 迁移（`rejection_count` 字段 + `cancelled` 状态 CHECK 约束 + `head_coach`/`manager` 角色）合并到主 DDL 基线 `docs/database/ddl/zqyy_app__auth.sql`，同步更新 BD 手册 `docs/database/BD_Manual_auth_tables.md`。删除一次性迁移执行脚本 `scripts/ops/_run_migration_prod.py`。

## 变更文件

| 文件 | 变更类型 | 说明 |
|------|---------|------|
| `docs/database/ddl/zqyy_app__auth.sql` | 修改 | 合并迁移到主 DDL 基线 |
| `docs/database/BD_Manual_auth_tables.md` | 修改 | 更新 BD 手册文档 |
| `scripts/ops/_run_migration_prod.py` | 删除 | 一次性迁移脚本，已完成使命 |

## 本次对话文件变更

### 新增文件
- `docs/audit/prompt_logs/prompt_log_20260323_013317.md`
- `docs/audit/session_logs/2026-03/23/04_7a0da2a2_004044/main_01_af624a77.md`
- `docs/audit/session_logs/2026-03/23/04_7a0da2a2_004044/sub_01_af624a77.md`

### 删除文件
- `docs/audit/session_logs/2026-03/23/04_7a0da2a2_004044/main_01_288df125.md`（Session 日志重建替换）

## 改动注解

### `docs/database/ddl/zqyy_app__auth.sql`
- 变更类型：修改
- 原始原因：2026-03-23 迁移脚本已在测试库验证通过，需合并到主 DDL 基线以保持基线与实际库结构一致
- 思路分析：将迁移中的三项变更直接写入基线 DDL：(1) `auth.users` 表增加 `rejection_count integer NOT NULL DEFAULT 0` 字段；(2) `auth.user_applications` 的 `status` CHECK 约束扩展为含 `cancelled`；(3) 角色种子数据从 4 条更新为 6 条（新增 `head_coach`/`manager`），角色-权限映射从 14 条更新为 24 条
- 修改结果：DDL 基线现在完整反映测试库 `test_zqyy_app` 的 auth schema 实际结构，新建库时可直接使用此基线

### `docs/database/BD_Manual_auth_tables.md`
- 变更类型：修改
- 原始原因：DDL 基线变更后需同步更新 BD 手册，保持文档与数据库结构一致
- 思路分析：在现有文档基础上增量更新：(1) 头部新增迁移脚本引用；(2) 表字段描述中补充 `rejection_count` 和 `cancelled` 状态；(3) 约束表新增 `user_applications_status_check` CHECK 约束；(4) 种子数据更新为 6 角色 / 24 映射；(5) 新增第 5 节完整变更记录（含业务规则、兼容性、回滚、验证 SQL）
- 修改结果：BD 手册完整记录了申请审核流程增强的所有数据库层面变更，包含回滚策略和验证 SQL

### `scripts/ops/_run_migration_prod.py`
- 变更类型：删除
- 原始原因：该脚本为一次性迁移执行辅助工具，迁移已完成（测试库成功，正式库因 psycopg2 Windows 编码问题需手动执行），脚本不再需要保留

## 合规检查

| 检查项 | 状态 | 说明 |
|--------|------|------|
| BD 手册同步 | ✅ 已更新 | `docs/database/BD_Manual_auth_tables.md` 已包含完整变更记录 |
| DDL 基线合并 | ⚠️ 本次完成 | `docs/database/ddl/zqyy_app__auth.sql` 已合并迁移内容 |
| 迁移执行状态 | ⚠️ 部分完成 | 测试库 `test_zqyy_app` 已通过 MCP 验证成功；正式库 `zqyy_app` 因 psycopg2 Windows 编码问题未能通过脚本执行，需用户手动执行 |
| 新增迁移 SQL | ✅ 无待执行 | `compliance.new_migration_sql` 为空 |
| API 变更 | ✅ 无变更 | `compliance.api_changed` 为 false |
| 文档缺失 | ✅ 无缺失 | `compliance.code_without_docs` 为空 |

## 待办事项

- [ ] 正式库 `zqyy_app` 手动执行迁移 `db/zqyy_app/migrations/2026-03-23__add_rejection_count_and_cancelled_status.sql`
