mcpField
S
spacetimedb-upgrade

spacetimedb-upgrade

github.com/danmossa開発2154 回インストール19 週間前に更新
リポジトリ

spacetimedb-upgrade について

SpacetimeDB の 1.0 から 2.0 への移行を支援する開発者向けスキルです。破壊的変更ごとに確認事項を整理し、移行ガイドと再生成したクライアント API の確認を促します。

主な機能

  1. 01コールバックとイベント型の変更確認
  2. 02サブスクリプション API とテーブルアクセサーの更新
  3. 03データベース接続名の確認
  4. 04Rust と C++ の sender 変更への対応
  5. 05更新メソッドなど移行項目の確認

活用シーン

  1. 01SpacetimeDB プロジェクトの 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 とテーブルアクセサー名が変更されました。バインディングを再生成し、推測した識別子に置き換えるのではなく、生成された名前に合わせて呼び出しを更新してください。
  • クライアントは、以前のモジュール命名の想定ではなく、データベース名または ID を使って接続します。
  • Rust と C++ では、sender はメソッドになりました。ctx.sender() を使用してください。TypeScript と C# のプロパティ構文に変更はありません。
  • 生成される更新メソッドの対象は主キーのみです。それ以外の変更では、主キーインデックスを使って更新するか、主キーを変更する場合は削除してから挿入してください。
  • スケジュール関数、プライベートコード生成、ライトモード、CallReducerFlags、確定読み取りには、それぞれ個別の移行ノートがあります。これらの領域を編集する前に、ガイドの該当セクションを参照してください。

参照先

必要な情報開くファイル
移行ガイドとチェックリストreferences/upgrade.md

ガイダンス

  • コードを編集する前に、該当する破壊的変更を正確に特定してください。ガイドでは、コールバック、イベント、サブスクリプション、テーブル名、接続名、sender、更新、スケジューリング、コード生成、ライトモード、フラグ、確定読み取りについて、それぞれ個別の対処方法を説明しています。
  • ガイドで推奨されている場合は、従来の Reducer コールバックパターンよりもイベントテーブルを優先してください。
  • モジュール名、テーブルアクセサー、可視性、またはプライベート項目を変更した後は、生成されたクライアント API を確認してください。

コメント