实现七月迭代公共技术基础
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m20s

This commit is contained in:
2026-07-23 17:52:48 +09:00
parent f7c42252c0
commit 17782d5f8e
76 changed files with 5246 additions and 158 deletions

View File

@@ -0,0 +1,22 @@
# 公共数据库对象所有权与发布门禁
## 对象所有权
| 数据库对象 | 唯一迁移所有者 | 下游接入方式 |
|---|---|---|
| `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保留事实并向前修复禁止通过降级删表清理。