关于 spacetimedb-upgrade
用于 SpacetimeDB 1.0 升级到 2.0 的迁移 Skill,供处理相关代码的开发者使用。它按具体破坏性变更提供检查方向,并引导查阅迁移指南和更新生成的客户端 API。
主要功能
- 01检查回调与事件类型变更
- 02更新订阅 API 和表访问器
- 03核对数据库连接名称用法
- 04处理 Rust 与 C++ 的 sender 变更
- 05检查更新方法及其他迁移项
适用场景
- 01将 SpacetimeDB 项目从 1.0 迁移到 2.0
- 02排查客户端订阅和事件处理变更
- 03核验代码生成、定时函数等迁移事项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ danmossa/ spacetimedb-skills --skill spacetimedb-upgrade安装后在 Claude Code 中输入/spacetimedb-upgrade确认已加载。
附带文件references/upgrade.md
详细介绍
将此技能用于 SpacetimeDB 1.0 到 2.0 的迁移工作。
核心迁移检查
- Reducer 回调已更改。对于持久化且可订阅的结果通知,优先使用事件表;仅当指南中的限制可以接受时,才使用每次调用的
_then()风格回调。 - 事件类型已更改。在假设旧的 reducer 结果事件结构仍然存在之前,请先更新客户端事件处理。
- 订阅 API 和表访问器名称已更改。请重新生成绑定,并更新调用以使用生成的名称,而不要猜测标识符并手动修改。
- 客户端通过数据库名称或身份连接,而不是沿用旧的模块命名假设。
- 在 Rust 和 C++ 中,
sender现在是一个方法:使用ctx.sender()。TypeScript 和 C# 的属性语法保持不变。 - 只有主键会生成更新方法。对于其他更改,请通过主键索引更新;如果主键发生变化,则删除后重新插入。
- 定时函数、私有代码生成、轻量模式、
CallReducerFlags和已确认读取都有各自的迁移说明。编辑这些部分之前,请先查看指南中的对应章节。
参考索引
| 需求 | 打开 |
|---|---|
| 迁移指南和检查清单 | references/upgrade.md |
指导原则
- 编辑代码前,先确定具体的破坏性变更;指南针对回调、事件、订阅、表命名、连接名称、
sender、更新、调度、代码生成、轻量模式、标志和已确认读取分别提供了修复方法。 - 指南建议使用事件表时,优先采用事件表,而不是旧的 reducer 回调模式。
- 更改模块名称、表访问器、可见性或私有项后,请检查生成的客户端 API。
评论
支持 Markdown