Files
qipai/docs/db-changelog/2026-06-18-M02-A-multi-app-tenancy.md

24 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M02-A 多小程序与租户配置模型
- 迁移版本:`2026061803`
- Up`database/migrations/2026061803_m02a_tenant_apps.up.sql`
- Down`database/migrations/2026061803_m02a_tenant_apps.down.sql`
- Verify`database/migrations/2026061803_m02a_tenant_apps.verify.sql`
## 新增表
| 表 | 用途 | 隔离约束 |
|---|---|---|
| `qipai_platform_apps` | 微信 AppID 对应的逻辑应用 | AppID 全局唯一 |
| `qipai_tenant_apps` | 应用与租户绑定 | 唯一键包含 `tenant_id, platform_app_id` |
| `qipai_tenant_configs` | 品牌、Logo、主题、电话、分享和默认门店配置 | 唯一键包含 `tenant_id, platform_app_id` |
`qipai_tenants` 沿用 M01-B 已建立的租户主表,不重复创建第二套 tenant 表。配置查询必须同时通过有效 AppID、有效绑定和明确租户条件;一个 AppID 绑定多个租户时,未传 `tenant-id` 的请求会被拒绝。
## 验证与回滚
- Windows:后端构建、迁移契约和仓储/API 注入测试通过。
- WSL MySQL 8.4.9:临时库执行 `up → verify → down → up → verify` 通过。
- 实测同一 AppID 绑定两个租户时,可分别读取独立品牌配置;跨租户 ID 返回空,省略租户 ID 返回冲突错误。
- Down 依次删除配置、绑定和应用表,再由旧迁移回滚基础表。