ch15-09 版本升级
先定交付标准
这一节按上线视角读“版本升级”。如果某个判断不能被测试、监控或运行手册证明,它就还不是出版级和生产级内容。
源码入口
- crates/schema/migrations:表结构、索引、Diesel schema 或迁移约束。
- crates/indexer/src/handlers:事件解析、字段映射或业务流水落库入口。
- crates/server/src/server.rs:REST API、数据库查询、健康检查或指标实现。
- packages/deepbook/tests/master_tests.move:测试 fixture、断言或可复现验证材料。
从测试到上线
DeepBook 相关 package 有版本和注册表概念。升级时需要同时考虑 Move package、SDK 常量、Indexer handler、schema migration、Server API 和前端配置。
版本升级要同时管理 Move package、Indexer handler、数据库 schema、Server API 和前端 SDK。发布计划应写明兼容窗口、回滚方式、迁移耗时和 snapshot 更新策略。
交付判断
- 每个测试或部署结论都要能回到具体命令、fixture、日志、指标或审计材料。
- 同时覆盖成功路径、失败路径、边界值、权限错误和数据延迟。
- 升级、迁移和部署步骤要写明回滚点、兼容窗口、健康检查和负责人。
- 涉及资金安全时,把链上约束、SDK 构造、Indexer 读模型和前端提示分层验证。
动手检查
- 本节的验收证据是 Move 测试、SDK 测试、snapshot、E2E、指标还是部署日志?
- 哪些失败路径、权限边界、迁移风险或运维故障还没有被覆盖?
- 如果生产事故发生,能否用 digest、checkpoint、日志和监控在 10 分钟内定位责任层?