mcpField
D
drizzle-nextjs-postgres

drizzle-nextjs-postgres

github.com/pproenca開発21871 回インストール11 週間前に更新
リポジトリ

drizzle-nextjs-postgres について

Next.js App RouterでDrizzle ORMとPostgreSQLを使う開発者向けのリファレンススキルです。データアクセス、キャッシュ、スキーマ変更、トランザクション、クエリ構築を扱う36のルールを、対象バージョンに沿って提示します。

主な機能

  1. 017カテゴリ、36のルール
  2. 02ドライバーと接続プールの指針
  3. 03Server Componentの読み取りとキャッシュ
  4. 04Server Actionの更新処理
  5. 05スキーマ、マイグレーション、トランザクションの指針
  6. 06PostgreSQLクエリ構築の助言

活用シーン

  1. 01Drizzleのデータベースモジュールの設定
  2. 02Server Componentの読み取りキャッシュのレビュー
  3. 03PostgreSQLスキーマ変更の計画
  4. 04遅いクエリや接続プール問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill drizzle-nextjs-postgres

インストール後、Claude Code で/drizzle-nextjs-postgresを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
conn-disable-prepare-behind-transaction-pooler.md
conn-driver-choice-follows-transactions.md
conn-pass-schema-for-relational-queries.md
conn-pool-sizing-for-serverless.md
conn-server-only-db-module.md
conn-singleton-across-hmr.md
migrate-add-constraints-not-valid-then-validate.md
migrate-concurrent-index-outside-transaction.md
migrate-generate-not-push.md
migrate-map-renames-explicitly.md
migrate-run-in-deploy-step-not-at-runtime.md
mut-after-for-post-response-writes.md
mut-authorize-inside-the-action.md
mut-updatetag-vs-revalidatetag.md
query-count-scans-the-table.md
query-execute-shape-is-driver-dependent.md
query-keyset-not-offset.md
query-not-in-null-trap.md
query-prepared-statements-need-names.md
rsc-dedupe-with-react-cache.md
rsc-no-request-apis-inside-use-cache.md
rsc-node-runtime-not-edge.md
rsc-suspense-around-uncached-reads.md
rsc-use-cache-is-per-instance-memory.md
rsc-use-cache-replaces-unstable-cache.md
schema-bigint-mode-truncation.md

詳細

Next.js での Drizzle + PostgreSQL

Next.js App Router で PostgreSQL 上の Drizzle ORM を使うためのライブラリ参照スキルです。7 カテゴリーにわたる 36 のルールを収録しています。各ルールでは、修正対象となる誤ったデフォルトを示しています。十分な能力を持つモデルがすでに正しく処理できる事項についてのルールはありません。

このスキルは自己完結型です。Postgres + Next.js の開発者に必要なマイグレーションワークフローと型推論のルールも含まれており、基礎となる誤ったデフォルトが Postgres 固有ではない場合も扱います。そのため、作業中に別のスキルを読み込む必要はありません。一部のルールは、姉妹スキルの drizzle-sqlite と意図的に重複しています(同じ誤ったデフォルトを、このコンテキスト向けに再記述しています)。残りは、PostgreSQL の方言であるために存在する、または App Router でコードが実行されるために異なる影響を及ぼす判断事項です。

drizzle-orm 0.45.2、drizzle-kit 0.31.10、Next.js 16.2.11、PostgreSQL 14+ に固定されています。

適用する場面

  • lib/db モジュールの作成またはレビュー — ドライバーの選択、プーリング、シングルトン、server-only
  • Server Component、Route Handler、または generateMetadata で db.select() / db.query.* を使ったデータ取得
  • キャッシュ対象の決定:use cache、cacheLife、cacheTag、React cache()、またはキャッシュなし
  • 読み取りパスでキャッシュされた内容を無効化する必要がある、行を変更する Server Action の作成
  • pgTable の定義または変更 — カラム型、インデックス、列挙型、制約
  • drizzle-kit generate / migrate / push の実行、または生成された .sql ファイルの手動編集
  • db.transaction() で処理をラップする場合、または競合、デッドロック、プール枯渇のデバッグ
  • ローカルでは問題ないのに、本番環境では遅いリスト、件数、ページネーションクエリのレビュー

ルールのカテゴリー

#カテゴリープレフィックス対象
1クライアントの構築とドライバーの選択conn-HMR をまたいだシングルトン、サーバーレスのプールサイズ、プーラー、ドライバーの機能、server-only、schema の受け渡し
2Server Component での読み取りrsc-Suspense 境界、use cache / cacheLife / cacheTag、リクエストの重複排除、ウォーターフォール、ランタイムの選択
3Server Action とミューテーションmut-アクション内での認可とバリデーション、キャッシュの無効化、遅延書き込み
4Postgres のスキーマ定義schema-timestamptz、identity カラム、text と varchar、numeric、jsonb、bigint のモード、テーブル設定、列挙型
5マイグレーションとスキーマ変更の安全性migrate-generate と push の違い、同時インデックス作成、マイグレーションの実行場所、名前変更、ロックに配慮した制約
6トランザクションとプールされた接続tx-トランザクション保持による接続コスト、行ロック、シリアライゼーションの再試行
7Postgres のクエリ構築query-キーセットページネーション、件数取得のコスト、ドライバーに依存する execute の形式、NULL のセマンティクス、プリペアドステートメント

クイックリファレンス

1. クライアントの構築とドライバーの選択
2. サーバーコンポーネントでの読み取り
3. サーバーアクションとミューテーション
4. Postgres スキーマ定義
5. マイグレーションとスキーマ変更の安全性
6. トランザクションとコネクションプール
  • tx-no-external-io-inside — トランザクションはコネクションを占有するため、その内部でネットワーク呼び出しを行うとプールが枯渇します
  • tx-lock-rows-for-read-modify-write — read committed では、2つのトランザクションが同じ古い行を読み取ることがあります
  • tx-retry-serialization-failures — serializable は SQLSTATE 40001 で中断し、再試行を想定しています
7. Postgres のクエリ構築

使用方法

該当する判断が必要になったら、リファレンスファイルを読んでください。各ルールでは、修正対象となる誤ったデフォルトを示したうえで、標準的な方法を説明します(誤った方法が実際の落とし穴となる場合に限り、誤りと正解を対比します)。

関連スキル

  • drizzle-sqlite — SQLite 系バックエンドで同じ ORM を使用します。このスキルでは意図的に扱っていない、方言に依存しないクエリ構築ルールを説明します
  • nextjs — データレイヤー以外の App Router のパターン
  • relational-database-design — このスキルで宣言方法を学ぶスキーマの選択

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとソースの参照

コメント