# db/ — 数据库资产目录 ## 当前状态(2026-04-05 更新) 完整 DDL 基线在 `docs/database/ddl/`(按 schema 分文件,从测试库自动导出)。 本目录保留运行时资产:迁移脚本、FDW 配置、建库脚本。 DDL 基线最近一次刷新:**2026-04-05**(合并了截至 2026-03-31 的全部迁移)。 ## 目录结构 ``` db/ ├── etl_feiqiu/ │ ├── schemas/ — 已清空(DDL 基线见 docs/database/ddl/etl_feiqiu__*.sql) │ ├── migrations/ — 11 个活跃迁移(2026-03-19 ~ 2026-03-31) │ ├── seeds/ — 已清空(合并进对应 DDL 文件末尾) │ └── scripts/ │ └── create_test_db.sql ├── zqyy_app/ │ ├── schemas/ — 已清空 │ ├── migrations/ — 8 个活跃迁移(2026-03-20 ~ 2026-03-31)+ _archived/ │ ├── seeds/ — 已清空 │ └── scripts/ │ └── create_test_db.sql ├── fdw/ — FDW 跨库映射配置 │ ├── setup_fdw.sql — 正向(zqyy_app → etl_feiqiu.app) │ ├── setup_fdw_test.sql — 正向(测试环境) │ ├── setup_fdw_reverse.sql — 反向(etl_feiqiu → zqyy_app.member_retention_clue) │ └── setup_fdw_reverse_test.sql — 反向(测试环境) └── _archived/ — 归档(2026-02-22 基线重置前的旧迁移,仅供历史参考) └── ddl_baseline_2026-02-22/ ``` ## DDL 基线 新建库或 schema diff 请使用 `docs/database/ddl/` 下的文件: | 文件 | 数据库 | Schema | 对象数 | |------|--------|--------|--------| | `etl_feiqiu__meta.sql` | etl_feiqiu | meta | 3 表 | | `etl_feiqiu__ods.sql` | etl_feiqiu | ods | 23 表 | | `etl_feiqiu__dwd.sql` | etl_feiqiu | dwd | 42 表 | | `etl_feiqiu__core.sql` | etl_feiqiu | core | 7 表 | | `etl_feiqiu__dws.sql` | etl_feiqiu | dws | 38 表 | | `etl_feiqiu__app.sql` | etl_feiqiu | app | 仅视图 | | `zqyy_app__public.sql` | zqyy_app | public | 12 表 | | `zqyy_app__auth.sql` | zqyy_app | auth | 9 表 | | `zqyy_app__biz.sql` | zqyy_app | biz | 21 表 | | `fdw.sql` | — | — | 正向 FDW 映射 | | `fdw_reverse.sql` | — | — | 反向 FDW 映射 | 重新生成:`PYTHONUTF8=1 python tools/db/gen_consolidated_ddl.py` ## 迁移管理 项目 1.0 尚未上线,DDL 基线已统一到 `docs/database/ddl/`(含种子数据)。 后续新增迁移脚本放 `migrations/`,文件名格式 `YYYY-MM-DD__描述.sql`。 每次迁移执行后,重新运行 DDL 生成脚本刷新基线。 种子数据已合并进对应 DDL 文件末尾,不再单独维护 `seeds/` 目录。 ## 文档分工 | 位置 | 管辖范围 | |------|---------| | `docs/database/` | 业务库(zqyy_app) BD_Manual + 跨模块(FDW/RLS) + DDL 基线 | | `apps/etl/connectors/feiqiu/docs/database/` | ETL 专属(ODS/DWD/DWS 表级文档) | | `db/`(本目录) | 运行时资产(迁移脚本/FDW 配置/建库脚本) | | `tools/db/` | 数据库工具(DDL 生成/验证/一致性检查) |