jpskill.com
🛠️ 開発・MCP コミュニティ

db-handler

データベースの構造定義、Drizzle ORM、データ移行、データモデリングを管理し、テーブル作成やカラム変更、データベース変更計画をスムーズに進めるSkill。

📜 元の英語説明(参考)

Manage database schemas, Drizzle ORM, migrations, and data modeling. Use when creating tables, modifying columns, or planning database changes.

🇯🇵 日本人クリエイター向け解説

一言でいうと

データベースの構造定義、Drizzle ORM、データ移行、データモデリングを管理し、テーブル作成やカラム変更、データベース変更計画をスムーズに進めるSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o db-handler.zip https://jpskill.com/download/16903.zip && unzip -o db-handler.zip && rm db-handler.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16903.zip -OutFile "$d\db-handler.zip"; Expand-Archive "$d\db-handler.zip" -DestinationPath $d -Force; ri "$d\db-handler.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して db-handler.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → db-handler フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

データベースハンドラー

指示

1. 新しいテーブルの作成

  1. 下書き: src/db/schema/{domain}.tspgTable 定義を作成します。
  2. カラム: ID (UUID)、タイムスタンプ、およびデータカラムを追加します。
    • 必須: JSONB カラムにはすべて Zod スキーマを使用します。
  3. リレーション: relations と外部キーを定義します。
  4. 検証: ユーザーに「この構造は正しいですか?不足しているリレーションはありますか?」と質問します。
  5. マイグレーション:
    • 絶対に マイグレーションファイル(例: drizzle-kit generate)を生成しないでください。
    • 必ず npx drizzle-kit push を使用して、スキーマの変更をデータベースに直接同期してください。

2. パフォーマンスと最適化 (重要)

  • インデックス: 以下に対してインデックスを必ず追加してください。
    • すべての外部キー(例: userIdplanId)。
    • WHERE 句で頻繁に使用されるカラム(例: statusemail)。
    • ソートに使用されるカラム(例: createdAt)。
  • N+1 問題の防止:
    • 絶対に ループ内でデータをフェッチしないでください。
    • Drizzle のリレーショナルクエリ API (with: { ... }) または明示的な .leftJoin() を使用して、関連データを単一のクエリでフェッチします。

3. カラムの変更

  • nullable なカラムまたはデフォルト値を持つカラムを追加することを推奨します。
  • 明示的な確認なしに破壊的な変更を加えることは避けてください。

4. 型と Enum

  • Enum: 定数としてエクスポートします(export const roleEnum = ...)。
  • : 推論された型をエクスポートしないでください。コンシューマーに推論させます。

リファレンス

詳細なパターン、インポート、およびベストプラクティスについては、reference.md を参照してください。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Database Handler

Instructions

1. Creating a New Table

  1. Draft: Create the pgTable definition in src/db/schema/{domain}.ts.
  2. Columns: Add ID (UUID), timestamps, and data columns.
    • Mandatory: Use Zod schema for any JSONB columns.
  3. Relations: Define relations and Foreign Keys.
  4. Verification: Ask the user: "Is this structure correct? Are there any missing relations?"
  5. Migration:
    • DO NOT generate migration files (e.g., drizzle-kit generate).
    • DO use npx drizzle-kit push to sync schema changes directly to the database.

2. Performance & Optimization (CRITICAL)

  • Indexes: You MUST add indexes for:
    • All Foreign Keys (e.g., userId, planId).
    • Columns frequently used in WHERE clauses (e.g., status, email).
    • Columns used for sorting (e.g., createdAt).
  • N+1 Prevention:
    • NEVER allow fetching data inside a loop.
    • Use Drizzle's Relational Query API (with: { ... }) or explicit .leftJoin() to fetch related data in a single query.

3. Modifying Columns

  • Prefer adding nullable columns or columns with default values.
  • Avoid breaking changes without explicit confirmation.

4. Types & Enums

  • Enums: Export as constants (export const roleEnum = ...).
  • Types: Do NOT export inferred types. Let consumers infer them.

Reference

For detailed patterns, imports, and best practices, see reference.md.