# ODS 表与 API JSON 字段对齐 — 变更记录

> 无结构性变更

## 溯源

- 日期：2026-02-13（Asia/Shanghai）
- Prompt：P20260213-210000 — 用新梳理的 API 返回 JSON 文档比对数据库 ODS 层
- Direct cause：`scripts/compare_api_ods.py` 自动比对 22 张 ODS 表与 `docs/api-reference/` 文档中的 JSON 字段，结论为全部对齐，无需 ALTER

## 说明

迁移文件 `database/migrations/20260213_align_ods_with_api.sql` 为比对结论记录，不包含任何 DDL 语句。

- 比对范围：`ods` schema 下 22 张表
- 比对逻辑：camelCase → snake_case 归一化匹配 + 去下划线纯小写兜底
- 结论：所有 ODS 表列已与 API JSON 响应字段完全对齐
- `stock_goods_category_tree` 的 `goodsCategoryList`/`total` 为响应包装层字段，ODS 表已正确展开存储数组内的记录级字段，无需额外列

## 验证 SQL

```sql
-- 1) 确认 ods schema 下表数量
SELECT count(*) FROM information_schema.tables
WHERE table_schema = 'ods' AND table_type = 'BASE TABLE';

-- 2) 确认迁移文件未引入新列（对比前后列数应一致）
SELECT table_name, count(*) AS col_count
FROM information_schema.columns
WHERE table_schema = 'ods'
GROUP BY table_name
ORDER BY table_name;

-- 3) 确认无待执行的 pending migration（迁移文件为纯注释，不应产生任何变更）
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_schema = 'ods' AND table_name = 'assistant_accounts_master'
ORDER BY ordinal_position;
```
