All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m20s
23 lines
1.6 KiB
Markdown
23 lines
1.6 KiB
Markdown
# 公共数据库对象所有权与发布门禁
|
||
|
||
## 对象所有权
|
||
|
||
| 数据库对象 | 唯一迁移所有者 | 下游接入方式 |
|
||
|---|---|---|
|
||
| `tb_outbox_event` 及公共索引、约束 | `tech-public-foundation` | 依赖公共 Outbox Port,禁止复制 DDL |
|
||
| `tb_system_config` 及公共索引、约束 | `tech-public-foundation` | 注册业务 Key,禁止复制 DDL 或创建任意 Key |
|
||
| Audit Event、Integration Log | `tech-global-audit` | 公共基础只依赖审计 Port |
|
||
| 通知、业务任务、业务失败明细 | 对应业务 PRD | 复用公共契约,保留自己的业务表 |
|
||
|
||
## 门禁执行
|
||
|
||
迁移和放量前运行前置检查,迁移后运行后置检查。检查只读取 PostgreSQL,重复执行不会写入业务事实;输出仅包含稳定错误码、对象名和计数,不输出事件载荷或配置值。
|
||
|
||
前置检查阻断以下情况:依赖迁移版本不足或处于脏状态、已有对象定义冲突、重复事件 ID 或配置 Key、必填字段空值、非法状态/类型、未投递事件和过期租约。后置检查还要求公共表及约定字段已经存在,并执行约束、索引和读写冒烟验证。
|
||
|
||
## 发布与回滚边界
|
||
|
||
发布顺序固定为:迁移与检查、兼容 API、Relay/Worker、依赖消费者、前端。迁移异常、Outbox 持续积压或租约大量过期、配置读写不一致、访问日志脱敏回归失败、关键任务无法恢复时停止放量。
|
||
|
||
尚未产生事实的新结构可在验证后回滚。公共表已经保存 Outbox 或配置事实后,必须先停止生产者和 Relay,保留事实并向前修复;禁止通过降级删表清理。
|