Files
Neo-ZQYY/db/etl_feiqiu
Neo b0340349bd feat(etl): cfg_* 视图入口统一 + NULL 兼容 + 3 处 _load_* 历史 Bug (W1-T2 / P0-1)
Wave 1 Day 3 沙箱配置参数切片。

DB 迁移 (20260504__cfg_views_null_compatible.sql):
- 4 个 v_cfg_* 视图 WHERE 加 NULL 兼容
  (effective_to IS NULL OR effective_to >= ...)
- 顺手清理 v_cfg_assistant_level_price / v_cfg_performance_tier
  WHERE 重复一次的 bug
- 测试库已执行,4 校验 PASS

ETL 代码 (4 处 SQL):
- base_index_task.py: FROM dws.cfg_index_parameters -> app.v_cfg_index_parameters
- base_dws_task.py 3 处 _load_* (performance_tier / level_price / bonus_rules)
  改 FROM app.v_cfg_*,顺手修历史 Bug:原 SQL 不带 effective_from/to WHERE

效果:
- 修复视图 NULL 行被过滤问题(SPI 27 行原本读到 0)
- 沙箱模式回放历史日期时,参数自动按 sandbox_date 切片
- _load_* 直接得到当前生效行(原 12/9 行历史 Python 挑)

参考:
- docs/audit/changes/2026-05-04__wave1_t2_scd2_view_unify.md
- docs/database/changes/2026-05-04__cfg_views_null_compatible.md
2026-05-04 08:10:57 +08:00
..
1
2026-03-15 10:15:02 +08:00

db/etl_feiqiu/ — ETL 数据库资产

六层 Schema

Schema 用途 DDL 基线
meta ETL 调度元数据(任务注册、游标、运行记录) docs/database/ddl/etl_feiqiu__meta.sql
ods 原始数据层API payload 落地) docs/database/ddl/etl_feiqiu__ods.sql
dwd 明细数据层(维度 SCD2 + 事实增量) docs/database/ddl/etl_feiqiu__dwd.sql
core 跨门店标准化维度/事实 docs/database/ddl/etl_feiqiu__core.sql
dws 汇总数据层(业绩、财务、会员、工资、指数) docs/database/ddl/etl_feiqiu__dws.sql
app RLS 视图层(仅视图,无表) docs/database/ddl/etl_feiqiu__app.sql

种子数据

文件 用途
seeds/seed_ods_tasks.sql 注册 ODS 抓取任务到 meta.etl_task
seeds/seed_scheduler_tasks.sql 初始化调度任务配置
seeds/seed_dws_config.sql DWS 配置(绩效档位、等级定价、技能映射等)
seeds/seed_index_parameters.sql 指数算法参数WBI/NCI/RS/OS/MS/ML

Schema 约定

  • 表名小写蛇形,带 schema 前缀(如 dwd.dim_member
  • 维度表含 SCD2 列:scd2_start_timescd2_end_timescd2_is_currentscd2_version
  • ODS 表含元数据列:content_hashpayloadfetched_atsource_file
  • 金额字段 NUMERIC(12,2)ID 字段 BIGINT
  • 不使用 ORMSQL 通过 psycopg2 直接执行