升级说明
升级已有部署时,运维人员需要了解的近期 schema 迁移信息都在这里。全新安装从空数据库开始,可以跳过这一页。部署的先后顺序和回滚方法,见滚动部署顺序和部署可靠性。
启动本次发布之前
启动本次发布之前,先运行 alembic upgrade head,升级到 0086_conversation_read_receipts。官方支持的部署脚本会在替换 API 之前执行迁移;除非下面特别说明,这里列出的每个迁移都只做增量修改,上一个发布还在运行时执行也是安全的。少数几个需要先停掉所有写入的迁移,列在执行不向后兼容的迁移里。
迁移完成后,用现有的完整环境变量启动主控制平面监听器:它会把新注册的设置项导入一次,具体见 Admin Settings。
近期迁移
新的排在前面。
迁移 |
改了什么 |
|---|---|
|
新增一张空表,记录每个所有者在每个对话里最近读到的那次完成,并带有版本号索引和 job/attempt 索引,分别用于增量轮询和外键清理。它不改动任何现有行,只会在被引用的表上短暂持有外键定义锁。现有的浏览器回执,会在那个浏览器下次打开更新后的界面时导入;降级会丢掉云端的回执,但浏览器缓存不受影响。 |
|
在 |
|
新增 |
|
给准入限制的检查约束加上 |
|
给环境和环境绑定加上可为空的团队列,并允许仓库的默认设置指向任意一个环境。不改动任何已有数据。只要还存在团队环境(包括已归档的),降级就会被拒绝。 |
|
新增 |
|
新增所有者 SSH 服务器相关的表,见 SSH 服务器。不改动任何已有数据。 |
|
新增团队相关的表:成员、一次性邀请、加入申请和团队审计日志。目前还没有别的地方引用团队,所以它不改动任何已有数据,也不影响任何人能运行或看到的内容。 |
|
新增环境安装快照,并在环境绑定上加了 setup 指纹,用来决定一个工作区可以从哪个快照启动;见环境安装快照。 |
|
新增按天统计的容器用量表,并在 |
|
给 MCP 审批记录加上一个可为空的 residency 代次;已有的审批记录这一列为空。 |
|
新增两个空的 JSON 列,用于从管理员设置页面升级 agent。 |
|
新增 |
|
新增 |
|
删除已经退役的记忆相关的表。如果回滚到 |
|
去掉 |
|
把记忆功能的开关和已保存的偏好,搬到持久记忆表里。 |
|
新增持久记忆表。 |
|
只替换了一个触发器函数。 |
|
在 |
|
给每台主机回填一个非空的排空栅栏 epoch。之后只要与排空相关的生命周期、凭据、放置或归属状态发生变化,数据库就会轮换这个 epoch。V2 控制平面激活之后,这个修订和 recipe 标记 |
|
让每台已有主机都从"没有部署排空所有者、也没有释放回执"的状态开始。它引入的 V1 标记只留给旧版编排器做过渡升级用;V2 激活之后,就不能再回滚到它了。 |
|
新增 |
|
新增 |
更早的、需要停机维护窗口的修订,列在执行不向后兼容的迁移里。如果数据库还标记着 2026-09-10 之前已退役的旧迁移链,就无法直接升级;见保留旧迁移链的数据库。
新增迁移时
在同一个 pull request 里给上表加一行,写清楚升级线上部署的运维人员需要知道什么:会改动哪些已有数据、可能锁表多久、降级会不会被拒绝。然后把 启动本次发布之前 一节和 ENVIRONMENT.md 里写的 head 修订号也更新掉;有测试会检查这两处写的都是当前的 head。