# db/ — 数据库资产目录

## 当前状态（2026-04-06 更新）

项目 v1，DDL 不存在迭代更新。完整 schema 定义在 `schemas/` 目录（按 schema 分文件，从测试库导出）。
同一份 DDL 也保留在 `docs/database/ddl/`（文档视角）。

## 目录结构

```
db/
├── etl_feiqiu/
│   ├── schemas/          — 六层完整 DDL（meta/ods/dwd/core/dws/app）
│   ├── migrations/       — 未来增量迁移（v1 已全部归档）
│   ├── ods/              — ODS 补充脚本
│   └── scripts/
│       └── create_test_db.sql
├── zqyy_app/
│   ├── schemas/          — 三层完整 DDL（public/auth/biz）
│   ├── migrations/       — 未来增量迁移（v1 已全部归档）
│   └── 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/            — 归档
    ├── ddl_baseline_2026-02-22/       — 旧基线
    └── migrations_v1_merged/          — v1 全部迁移（39 个，已合并进 schemas/）
        ├── etl_feiqiu/   — 11 个迁移
        └── zqyy_app/     — 28 个迁移
```

## Schema 文件

`db/etl_feiqiu/schemas/` 和 `db/zqyy_app/schemas/` 是权威的完整 DDL，包含建表、索引、约束、种子数据。

| 文件 | 数据库 | Schema | 对象数 |
|------|--------|--------|--------|
| `etl_feiqiu/schemas/meta.sql` | etl_feiqiu | meta | 3 表 |
| `etl_feiqiu/schemas/ods.sql` | etl_feiqiu | ods | 23 表 |
| `etl_feiqiu/schemas/dwd.sql` | etl_feiqiu | dwd | 42 表 |
| `etl_feiqiu/schemas/core.sql` | etl_feiqiu | core | 7 表（跨平台统一维度层，由 CORE_DIM_SYNC 任务从 DWD 同步） |
| `etl_feiqiu/schemas/dws.sql` | etl_feiqiu | dws | 38 表 |
| `etl_feiqiu/schemas/app.sql` | etl_feiqiu | app | 仅视图 |
| `zqyy_app/schemas/public.sql` | zqyy_app | public | 12 表 |
| `zqyy_app/schemas/auth.sql` | zqyy_app | auth | 9 表 |
| `zqyy_app/schemas/biz.sql` | zqyy_app | biz | 21 表 |

重新生成：`PYTHONUTF8=1 python tools/db/gen_consolidated_ddl.py`

## 迁移管理

v1 阶段的 39 个迁移已全部合并进 `schemas/` 完整 DDL，原文件归档在 `_archived/migrations_v1_merged/`。

后续新增迁移放 `migrations/`，文件名格式 `YYYY-MM-DD__描述.sql`。
执行后重新运行 DDL 生成脚本刷新 `schemas/` 基线。

## 文档分工

| 位置 | 管辖范围 |
|------|---------|
| `docs/database/` | 业务库(zqyy_app) BD_Manual + 跨模块(FDW/RLS) + DDL 基线副本 |
| `apps/etl/connectors/feiqiu/docs/database/` | ETL 专属(ODS/DWD/DWS 表级文档) |
| `db/`（本目录） | 权威 DDL + 运行时资产(迁移/FDW/建库脚本) |
| `tools/db/` | 数据库工具(DDL 生成/验证/一致性检查) |
