mcpField
S
spacetimedb-upgrade

spacetimedb-upgrade

github.com/danmossa开发2154 次安装19 周前更新
代码仓库

关于 spacetimedb-upgrade

用于 SpacetimeDB 1.0 升级到 2.0 的迁移 Skill,供处理相关代码的开发者使用。它按具体破坏性变更提供检查方向,并引导查阅迁移指南和更新生成的客户端 API。

主要功能

  1. 01检查回调与事件类型变更
  2. 02更新订阅 API 和表访问器
  3. 03核对数据库连接名称用法
  4. 04处理 Rust 与 C++ 的 sender 变更
  5. 05检查更新方法及其他迁移项

适用场景

  1. 01将 SpacetimeDB 项目从 1.0 迁移到 2.0
  2. 02排查客户端订阅和事件处理变更
  3. 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