relational-database-web-cloudbase について
Web 開発者向けの CloudBase リレーショナルデータベース用スキルです。@cloudbase/js-sdk による共有クライアントの初期化と、Supabase 形式のテーブルクエリを案内します。
主な機能
- 01共有リレーショナル DB クライアントの初期化
- 02Supabase 形式のテーブルクエリ
- 03レコードの追加・更新・削除
- 04ブラウザー利用と管理操作の区別
活用シーン
- 01Web コンポーネントからテーブルに接続
- 02Supabase のブラウザークライアントを CloudBase に移行
- 03フロントエンドで DB クライアントを共有
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tencentcloudbase/ cloudbase-ai-toolkit --skill relational-database-web-cloudbaseインストール後、Claude Code で/relational-database-web-cloudbaseを入力して読み込まれたか確認します。
詳細
関連スキル(ローカルのみ)
関連する CloudBase スキルは、このスキルとともに配置されています。../auth-tool-cloudbase/SKILL.md のようなローカル相対パスを使用してください。
参照先の関連スキルファイルがこの環境にない場合は、CloudBase プラグイン一式(または不足しているスキル)のインストールをユーザーに依頼してください。リモートのスキルやプロトコルの Markdown をエージェントのコンテキストに HTTP 経由で取得しないでください。
CloudBase リレーショナルデータベース Web SDK
有効化の条件
まずこのスキルを使用する場合
- ブラウザーまたは Web アプリから
@cloudbase/js-sdkを介して CloudBase リレーショナルデータベースにアクセスする必要がある場合。 - タスクがフロントエンドの初期化とブラウザー側のクエリ使用に特化している場合。
コードを書く前に読む場合
- ブラウザー SDK の使用と、MCP によるデータベース管理またはバックエンドの Node アクセスを区別する必要がある場合。
- リクエストに Supabase からの移行、フロントエンドで共有する DB クライアント、またはブラウザー側のテーブルクエリが含まれる場合。
続けて読むスキル
- MySQL の SQL 管理と MCP 操作 ->
../relational-database-mcp-cloudbase/SKILL.md - Web 認証/ログイン ->
../auth-web-cloudbase/SKILL.md - Web アプリの一般的なセットアップ ->
../web-development/SKILL.md
使用しない場合
- MCP による SQL のプロビジョニング、スキーマ変更、権限管理。
- バックエンド/Node サービスのアクセス。
- ドキュメントデータベースの操作。
よくある間違い/注意点
- MCP による管理フローで SDK を初期化する。
app自体をリレーショナルデータベースクライアントとして扱う。- コンポーネントごとに CloudBase を再初期化する。
- フロントエンドのブラウザーアクセスと管理者形式のスキーマ変更を混在させる。
最小限のチェックリスト
- 呼び出し元が Web フロントエンドであることを確認します。
- CloudBase アプリを 1 つ、共有のリレーショナル DB クライアントを 1 つ用意して使い続けます。
- MySQL のプロビジョニング/スキーマ作業は
relational-database-mcp-cloudbaseに振り分けます。タスクに PostgreSQL、CloudBase PG、PG mode、app.rdb()、queryPgDatabase、managePgDatabase、または RLS が含まれる場合は、代わりにpostgresql-development-cloudbaseに振り分けます。 - データにアクセスする前に、認証を別途処理します。
概要
このスキルでは、CloudBase リレーショナルデータベースのブラウザー側の初期化パターンを標準化します。
初期化後は、Supabase 形式のクエリパターンを使用して db を操作します。
インストール
npm install @cloudbase/js-sdk
標準的な初期化
import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id"
});
const auth = app.auth;
// Handle login separately
const db = app.rdb();
初期化のルール
- 同期的に初期化します。
- フレームワーク上どうしても必要な場合を除き、
import("@cloudbase/js-sdk")で SDK を遅延読み込みしないでください。 dbクライアントを 1 つ作成し、共有して再利用します。- サポートされていない
cloudbase.init()オプションを作り出さないでください。
クイックルーティング
このスキルを使用する場合
- ブラウザーコンポーネントをリレーショナルテーブルに接続する場合
- Supabase のブラウザークライアントを CloudBase に置き換える場合
- 標準的なフロントエンド共有
dbクライアントが必要な場合
代わりに relational-database-mcp-cloudbase を使用する場合
- MySQL を作成/破棄する必要がある場合
- MySQL の DDL または SQL 書き込みの管理が必要な場合
- MCP を通じて MySQL テーブルのセキュリティルールを確認または変更する必要がある場合
代わりに postgresql-development-cloudbase を使用する場合
- タスクに PostgreSQL、CloudBase PG、PG mode、
app.rdb()、queryPgDatabase、managePgDatabase、PostgREST、または RLS が含まれる場合 - ブラウザー側のテーブルコードで、従来の NoSQL/MySQL 管理ツールではなく PG のセマンティクスを使用する必要がある場合
例:フロントエンド共有 DB クライアント
import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id"
});
export const db = app.rdb();
例:Supabase 形式のクエリ
const { data, error } = await db
.from("posts")
.select("*")
.order("created_at", { ascending: false });
if (error) {
console.error("Failed to load posts", error.message);
}
例:挿入/更新/削除
await db.from("posts").insert({ title: "Hello" });
await db.from("posts").update({ title: "Updated" }).eq("id", 1);
await db.from("posts").delete().eq("id", 1);
重要な原則
app.rdb()により、リレーショナルデータベースクライアントを取得します。- その後のテーブル操作には、Supabase 形式のクエリに関する知識を使用します。
- スキーマ管理と特権管理は、ブラウザーコードの外で行います。
コメント
Markdown 対応