mcpField
P
prisma-orm-v7-skills

prisma-orm-v7-skills

github.com/gocallum開発231.0k 回インストール40 週間前に更新
リポジトリ

prisma-orm-v7-skills について

prisma-orm-v7-skillsは、Prisma ORM 7への移行を支援する開発者やエージェント向けのリファレンススキルです。設定、クライアント生成、データベースアダプターなどの破壊的変更と移行手順をまとめています。

主な機能

  1. 01Prisma 7へのアップグレードチェックリスト
  2. 02ESMとバージョン要件
  3. 03スキーマとクライアント生成の変更
  4. 04Prisma Configへの移行案内
  5. 05データベースドライバーアダプターの設定

活用シーン

  1. 01旧Prismaバージョンからの移行を計画
  2. 02ジェネレーターとクライアントのインポート先を更新
  3. 03データソース設定をprisma.config.tsへ移す
  4. 04データベースクライアントの初期化方法を変更

インストール

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

$npx skills add https://github.com/gocallum/nextjs16-agent-skills --skill prisma-orm-v7-skills

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

詳細

リンク

アップグレード

# Upgrade packages
pnpm add @prisma/client@7
pnpm add -D prisma@7

破壊的変更(v7)

最小バージョン
  • Node.js:20.19.0 以上(および 22.x)
  • TypeScript:5.4.0 以上
Prisma が ESM に対応
  • Prisma ORM は ES モジュールとして提供されます。
  • package.json に "type": "module" を設定するか、プロジェクトを ESM に移行してください。
  • TypeScript プロジェクトは ESM をコンパイル/解決できる必要があります(ガイドの例:module: ESNext、target: ES2023、moduleResolution: node)。
Prisma スキーマと生成に関する変更
  • ジェネレータープロバイダー:prisma-client-js → prisma-client。
  • generator client で output が必須になりました。
  • Prisma Client は、デフォルトで node_modules に生成されなくなりました。
  • npx prisma generate の実行後、インポート先を生成された出力パスに更新してください(例: import { PrismaClient } from './generated/prisma/client')。

スキーマのデータソースに関する非推奨化:

  • schema.prisma の url、directUrl、shadowDatabaseUrl は非推奨になりました。
  • データソースの設定を prisma.config.ts(Prisma Config)に移してください。
  • マイグレーションで directUrl を使用していた場合は、CLI のマイグレーション接続文字列を prisma.config.ts に設定してください。
Prisma Client でドライバーアダプターが必須に(新しいインスタンス化方法)
  • すべてのデータベースで、Prisma Client の作成時にドライバーアダプターが必要になりました。
  • アダプターの例:
    • Postgres:@prisma/adapter-pg(直接 DB 接続文字列を使って PrismaPg を使用)
    • SQLite:@prisma/adapter-better-sqlite3
Prisma Accelerate ユーザー(v6 → v7)
  • prisma:// または prisma+postgres://(Accelerate URL)をドライバーアダプターに渡さないでください。
  • Accelerate URL はそのまま使用し、代わりに Accelerate 拡張機能を使って Prisma Client をインスタンス化してください。
環境変数はデフォルトで読み込まれなくなりました
  • Prisma CLI は v7 で .env ファイルを自動的に読み込まなくなりました。
  • 環境変数を明示的に読み込んでください(例:prisma.config.ts で import 'dotenv/config' を実行するか、スクリプト内で環境変数を読み込みます)。
  • Bun ユーザー:変更は不要です(Bun は .env を自動的に読み込みます)。
Prisma CLI の設定先が prisma.config.ts に移動
  • Prisma Config が、Prisma CLI の動作を設定するデフォルトの場所になりました。
  • プロジェクトのルート(package.json の隣)に prisma.config.ts を配置してください。
  • スキーマのパス、マイグレーションのパス/シード、データソース URL をそこで設定してください。
クライアントミドルウェアの削除
  • prisma.$use(...) は削除されました。
  • ミドルウェアのロジックを Prisma Client Extensions に移行してください。
Client Extensions からメトリクスを削除
  • Metrics のプレビュー機能は v7 で削除されました。
  • データベースドライバー/アダプターを使うか、拡張機能を使ってカスタムカウンターを実装してください。
マイグレーション/シード/生成の動作変更
  • prisma migrate dev/prisma migrate reset の実行後にシードが自動実行されなくなりました。
    • シードを明示的に実行してください:pnpm prisma db seed(または pnpm exec prisma db seed)。
  • --skip-generate と --skip-seed フラグは削除されました。
  • prisma migrate dev と prisma db push は、prisma generate を自動実行しなくなりました。
    • pnpm prisma generate(または pnpm exec prisma generate)を明示的に実行してください。
Prisma 固有の環境変数の削除
  • 次の環境変数が削除されました:
    • PRISMA_CLI_QUERY_ENGINE_TYPE
    • PRISMA_CLIENT_ENGINE_TYPE
    • PRISMA_QUERY_ENGINE_BINARY
    • PRISMA_QUERY_ENGINE_LIBRARY
    • PRISMA_GENERATE_SKIP_AUTOINSTALL
    • PRISMA_SKIP_POSTINSTALL_GENERATE
    • PRISMA_GENERATE_IN_POSTINSTALL
    • PRISMA_GENERATE_DATAPROXY
    • PRISMA_GENERATE_NO_ENGINE
    • PRISMA_CLIENT_NO_RETRY
    • PRISMA_MIGRATE_SKIP_GENERATE
    • PRISMA_MIGRATE_SKIP_SEED
MongoDB のサポート
  • Prisma ORM 7 はまだ MongoDB をサポートしていません。MongoDB が必要な場合は、Prisma ORM 6 を引き続きご利用ください。

アップグレードチェックリスト(クイック)

  • パッケージをアップグレードし、Node/TypeScript のバージョンを確認します。
  • ESM に移行します(または、ESM を使用できるようにランタイム/ビルドを調整します)。
  • schema.prisma のジェネレーターを provider = "prisma-client" に更新し、output を設定します。
  • pnpm prisma generate を実行し、Prisma Client のインポートを生成された出力パスに更新します。
  • リポジトリのルートに prisma.config.ts を追加し、データソース設定を移動して環境変数を明示的に読み込みます。
  • (Accelerate を使用する場合を除き、)Prisma Client のインスタンス化をドライバーアダプターを使用するように更新します。
  • ワークフローを更新し、pnpm prisma generate と pnpm prisma db seed を明示的に実行します。

コメント