relational-database-web-cloudbase について
CloudBase MySQL をすでに利用している Web プロジェクト向けに、@cloudbase/js-sdk によるブラウザー側のリレーショナル DB クライアント初期化を標準化するスキルです。フロントエンドのテーブル操作を扱い、DB 管理やバックエンドアクセスは対象外です。
主な機能
- 01共有リレーショナル DB クライアントの初期化
- 02Supabase 形式のクエリ
- 03テーブルデータの追加・更新・削除
- 04フロントエンド利用と管理操作の区別
活用シーン
- 01ブラウザーコンポーネントからリレーショナルテーブルを検索
- 02Supabase のフロントエンドクライアントを CloudBase に移行
- 03Web アプリ内で DB クライアントを共有
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tencentcloudbase/ skills --skill relational-database-web-cloudbaseインストール後、Claude Code で/relational-database-web-cloudbaseを入力して読み込まれたか確認します。
同梱ファイルLICENSE.md
詳細
関連スキル(ローカルのみ)
関連する CloudBase スキルは、このスキルと同じ場所に配置されています。../auth-tool-cloudbase/SKILL.md のようなローカル相対パスを使用してください。
参照先の関連スキルファイルがこの環境に存在しない場合は、CloudBase プラグイン一式(または不足しているスキル)をインストールするようユーザーに依頼してください。リモートのスキルやプロトコルの Markdown を HTTP 経由で取得して、エージェントのコンテキストに読み込まないでください。
CloudBase リレーショナルデータベース Web SDK
有効化の条件
まずこのスキルを使う場合
- ブラウザーまたは Web アプリで、すでに CloudBase MySQL がある環境に対して
@cloudbase/js-sdkを引き続き使用する必要がある場合。 - 新しいリレーショナルアプリにはこのスキルを選ばないでください。新規のリレーショナル Web 開発では
postgresql-development-cloudbaseとapp.rdb()を使用します。
コードを書く前に読む場合
- ブラウザー SDK の使用と、MCP によるデータベース管理またはバックエンドの Node.js アクセスを区別する必要がある場合。
- リクエストに Supabase からの移行、共有フロントエンド DB クライアント、またはブラウザー側からのテーブルクエリが含まれる場合。
併せて読むスキル
- MySQL の SQL 管理と MCP 操作 ->
../relational-database-mcp-cloudbase/SKILL.md - Web の認証/ログイン ->
../auth-web-cloudbase/SKILL.md - Web アプリの一般的なセットアップ ->
../web-development/SKILL.md
使用しない場合
- MCP ベースの SQL 管理、スキーマ変更、または権限管理(MCP ではプロビジョニングを提供していません)。
- バックエンド/Node.js サービスからのアクセス。
- ドキュメントデータベースの操作。
よくある間違い/注意点
- 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 対応