# 变更审计:DWS numeric 精度扩展 + ODS 库存 siteid 注入 > 日期:2026-03-01 > 触发:ETL 全栈联调发现 P1(gross_margin 溢出)+ P2(dwd_goods_stock_summary 缺 site_id) ## 变更清单 ### P1: DWS numeric 精度扩展(7 个字段) - `docs/database/ddl/etl_feiqiu__dws.sql` — 7 个字段 numeric(5,4)/numeric(6,4) → numeric(7,4) - `apps/etl/connectors/feiqiu/tasks/dws/assistant_finance_task.py` — gross_margin 计算加 clamp 防御 - `db/etl_feiqiu/migrations/20260301_dws_numeric_precision_fix.sql` — 迁移 SQL(含视图 DROP/重建) - `db/etl_feiqiu/migrations/20260301_dws_numeric_precision_fix_rollback.sql` — 回滚 SQL - 7 个 `app.v_dws_*` RLS 视图已 DROP 并重建 ### P2: ODS goods_stock_summary 加 siteid + DWD 映射 - `docs/database/ddl/etl_feiqiu__ods.sql` — goods_stock_summary 加 siteid bigint 列 - `apps/etl/connectors/feiqiu/tasks/ods/ods_tasks.py` — 通用 siteid 注入逻辑 - `apps/etl/connectors/feiqiu/tasks/dwd/dwd_load_task.py` — FACT_MAPPINGS 补 site_id 映射 - `db/etl_feiqiu/migrations/20260301_ods_goods_stock_summary_add_siteid.sql` — 迁移 SQL + 回填 ### 文档 - `docs/database/BD_Manual_20260301_cleanup_and_fixes.md` — 追加 §1.4/§1.5/§3.4/§3.5 + 验证 SQL #6-#9 ## 验证状态 - P1 迁移:✅ 测试库 7 个字段全部 numeric(7,4),7 个视图已重建 - P2 迁移:✅ ODS siteid 列已加,3216 条记录已回填 - DWD 层 site_id 回填:待下次 DWD_LOAD_FROM_ODS 运行后生效 ## 风险评估 - P1 低风险:纯精度扩展,不影响已有数据,视图已重建 - P2 中风险:ODS 入库通用注入逻辑影响所有含 siteid 列的 ODS 表,但仅在记录不含 siteid 时才注入,已有 siteid 的记录不受影响