prisma-upgrade-v7
Prisma ORM v6 から v7 へのすべての破壊的変更を網羅した完全移行ガイドです。Prisma のバージョンアップ時、v7 関連のエラー発生時、または既存プロジェクトの移行時に使用します。「upgrade to prisma 7」「prisma 7 migration」「prisma-client generator」「driver adapter required」などをトリガーに動作します。
description の原文を見る
Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrating existing projects. Triggers on "upgrade to prisma 7", "prisma 7 migration", "prisma-client generator", "driver adapter required".
SKILL.md 本文
Prisma ORM 7 へのアップグレード
Prisma ORM v6 から v7 への移行の完全ガイドです。このアップグレードでは、新しい prisma-client ジェネレーター、ドライバーアダプター、prisma.config.ts、明示的な環境読み込み、生成されたクライアントエントリポイントに関する重大な破壊的変更が導入されています。
適用時期
以下の場合、このスキルを参照してください:
- Prisma v6 から v7 へのアップグレード
prisma-clientジェネレーターへの更新- ドライバーアダプターのセットアップ
prisma.config.tsの設定- アップグレード後のインポートエラーの修正
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響 | プレフィックス |
|---|---|---|---|
| 1 | スキーマ移行 | 重大 | schema-changes |
| 2 | データベース接続 | 重大 | driver-adapters |
| 3 | モジュールシステム | 重大 | esm-support |
| 4 | 設定と環境 | 高 | prisma-config, env-variables |
| 5 | 削除される機能 | 高 | removed-features |
| 6 | Accelerate | 高 | accelerate-users |
クイックリファレンス
schema-changes- ジェネレーターの移行、必須の出力パス、生成されたエントリポイント、Prisma.validatorの置き換えdriver-adapters- SQL プロバイダーに必須のアダプターインストール、プール差分、Prisma Postgres アダプターの選択肢esm-support- ESM ファースト セットアップ、およびmoduleFormat = "cjs"での CommonJS フォールバックprisma-config-prisma.config.tsの作成と使用env-variables- 明示的な環境読み込みremoved-features- 削除されたミドルウェア、メトリクス、レガシー CLI 動作accelerate-users- Accelerate ユーザー向けの移行に関する注記
重要な注記
- MongoDB プロジェクトは Prisma 6.x に留まるべき - MongoDB アプリを Prisma 7 の SQL クライアントパスに移行しないでください
- Node.js 20.19.0 以上 が必須
- TypeScript 5.4.0 以上 が必須
- 最新の安定版 Prisma ORM バージョン:
7.6.0
アップグレード手順の概要
- パッケージを v7 に更新
- モジュール形式を選択 (デフォルトは
esm、必要な場合はcjs) - TypeScript 設定を更新
- スキーマ ジェネレーターブロックを更新
prisma.config.tsを作成- SQL プロバイダー用のドライバーアダプターをインストールして設定
- Prisma Client インポートを更新
- クライアント インスタンス化を更新
Prisma.validatorなどの非推奨ヘルパーパターンを置き換えprisma generateを実行してテスト
クイックアップグレードコマンド
# パッケージを更新
npm install @prisma/client@7
npm install -D prisma@7
# ドライバーアダプターをインストール (PostgreSQL または直接 TCP 経由の Prisma Postgres)
npm install @prisma/adapter-pg pg
# 環境読み込み用に dotenv をインストール
npm install dotenv
# クライアントを再生成
npx prisma generate
破壊的変更のまとめ
| 変更 | v6 | v7 |
|---|---|---|
| モジュール形式 | 暗黙的/混合 | ESM ファースト、moduleFormat = "cjs" サポート |
| ジェネレータープロバイダー | prisma-client-js | prisma-client がデフォルト、レガシーセットアップ用に prisma-client-js も存在 |
| 出力パス | 自動 (node_modules) | 明示的指定が必須 |
| ドライバーアダプター | オプション | SQL プロバイダーに必須 |
| 設定ファイル | .env + スキーマ | prisma.config.ts |
| 環境読み込み | 自動 | 手動 (dotenv) |
| 生成されたエントリポイント | 単一パッケージエクスポート | client, browser, models, enums エントリポイント |
| 型安全クエリフラグメント | Prisma.validator() | TypeScript satisfies |
| ミドルウェア | $use() | クライアント拡張 |
| メトリクス | プレビュー機能 | 削除 |
ルールファイル
各破壊的変更の詳細な移行ガイド:
references/esm-support.md - ESM および CommonJS 設定
references/schema-changes.md - ジェネレーター、出力、インポート、生成されたエントリポイント
references/driver-adapters.md - 必須のドライバーアダプター設定
references/prisma-config.md - 新しい設定ファイル
references/env-variables.md - 環境変数読み込み
references/removed-features.md - ミドルウェア、メトリクス、CLI フラグ
references/accelerate-users.md - Accelerate 用の特別な対応
ステップバイステップ移行
1. ESM ファーストプロジェクト向けに package.json を更新
{
"type": "module"
}
CommonJS に留まる必要がある場合は、アプリを CJS のまま保ち、ESM を強制する代わりにジェネレーターブロックで moduleFormat = "cjs" を設定してください。
2. tsconfig.json を更新
{
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "bundler",
"target": "ES2023",
"strict": true,
"esModuleInterop": true
}
}
3. schema.prisma を更新
// 前 (v6)
generator client {
provider = "prisma-client-js"
}
// 後 (v7)
generator client {
provider = "prisma-client"
output = "../generated/prisma"
// CommonJS が必要な場合はオプション:
// moduleFormat = "cjs"
}
4. prisma.config.ts を作成
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
5. ドライバーアダプターをインストール (SQL プロバイダーのみ)
# PostgreSQL
npm install @prisma/adapter-pg pg
# MySQL
npm install @prisma/adapter-mariadb mariadb
# SQLite
npm install @prisma/adapter-better-sqlite3 better-sqlite3
# 標準 Node.js アプリ用 Prisma Postgres (推奨)
npm install @prisma/adapter-pg pg
# Prisma Postgres サーバーレスドライバー (エッジ/サーバーレス)
npm install @prisma/adapter-ppg @prisma/ppg
# Neon
npm install @prisma/adapter-neon
MongoDB には、公開済み Prisma 7.6.0 パッケージに SQL @prisma/adapter-* パッケージがありません。MongoDB プロジェクトをアップグレードする場合は、標準 Prisma 7 移行パスに従う代わりに、そのプロジェクトを最新の Prisma 6.x リリースに留めてください。
6. クライアント インスタンス化を更新
// 前 (v6)
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// 後 (v7)
import { PrismaClient } from '../generated/prisma/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({
connectionString: process.env.DATABASE_URL
})
const prisma = new PrismaClient({ adapter })
7. Prisma.validator を satisfies で置き換え
import { Prisma } from '../generated/prisma/client'
const userSelect = {
id: true,
email: true,
name: true,
} satisfies Prisma.UserSelect
8. マイグレーションを実行して生成
npx prisma generate
npx prisma migrate dev # 必要な場合
トラブルシューティング
「Cannot find module」エラー
- ジェネレーター
outputパスがインポートパスと一致していることを確認してください prisma generateが正常に実行されたことを確認してください
SSL 証明書エラー
- 古い動作を保持する必要がある場合は、アダプター設定に
ssl: { rejectUnauthorized: false }を追加してください - または
NODE_EXTRA_CA_CERTS/ OpenSSL CA 設定で証明書を適切に設定してください
接続タイムアウト問題
- ドライバーアダプターは基になるドライバーのデフォルトを使用しており、これは v6 と異なります
- 必要に応じてアダプターでプール設定を明示的に設定してください
リソース
使用方法
references/schema-changes.md と references/driver-adapters.md を最初に確認してから、プロジェクトセットアップに基づいて残りのリファレンスファイルを適用してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- prisma
- リポジトリ
- prisma/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/prisma/skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。