prisma-mongodb-upgrade について
prisma-mongodb-upgrade は、MongoDB プロジェクトを Prisma 6 から Prisma 8 に移行するか、制約がある場合に Prisma 6 を継続するか判断するためのスキルです。判断指針と移行資料をまとめ、Prisma 7 に MongoDB コネクターがないことも明示します。
主な機能
- 01Prisma 6から8への判断指針
- 02Prisma 8への移行資料
- 03スキーマとクライアントAPIの対応表
- 04切り替え検証チェックリスト
- 05Prisma 6の保守に関する案内
活用シーン
- 01MongoDBプロジェクトのアップグレード経路の評価
- 02トランザクション制約への対応計画
- 03Prisma 8への切り替えリハーサル
- 04Prisma 6を使うプロジェクトの保守
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ prisma/ skills --skill prisma-mongodb-upgradeインストール後、Claude Code で/prisma-mongodb-upgradeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/client-api-mapping.mddecision-stay-or-migrate.mdmigrations-mapping.mdschema-contract-mapping.mdverify-cutover-checklist.md詳細
Prisma MongoDB アップグレードパス
MongoDB プロジェクトは、Prisma 7 への道がない唯一の Prisma コホートです。MongoDB では v6 が従来の ORM の最終メジャーバージョンであり、v7 に MongoDB コネクターが提供されることはありません。後継の選択肢は Prisma 8 です。MongoDB はアーリーアクセス段階にあり、PostgreSQL はリリース候補です。移行手順の正式な情報源は、公式のPrisma ORM 6 から 8 への移行(MongoDB)ガイドです。このスキルでは、実際の判断(推奨される Prisma 8 への移行か、明確な阻害要因がある場合の v6 の継続利用か)を整理し、移行の仕組みを説明します。
以下のいずれも行わないでください。
- MongoDB プロジェクトに「Prisma 7 にアップグレード」するよう勧めないでください。そこにはコネクターがありません。
prisma-upgrade-v7ガイドは MongoDB プロジェクトには適用されません。 - バージョンの問題を、アプリを SQL データベースに書き換えて解決しないでください。データベースエンジンの変更は、暗黙のうちにあなたが決めるべきではない、別個のはるかに大きな判断です。
バージョンの概要
| バージョン | MongoDB のステータス |
|---|---|
| Prisma ORM v6 | 完全にサポート(mongodb プロバイダー)。最新の 6.x が現在の安定した選択肢であり、メンテナンス対象の系列です |
| Prisma ORM v7 | MongoDB コネクターなし — 選択肢になりません |
| Prisma 8 | @prisma/orm-mongo を通じて MongoDB をアーリーアクセスでサポート。リリース候補間でも変更が続いています — MongoDB プロジェクト向けの後継の選択肢です |
まず判断を示します
Prisma 8 への移行を推奨します。 Prisma 8 の MongoDB サポートはアーリーアクセス段階にあり、機能が実装され、急速に進化しています。また、Prisma チームは MongoDB ユーザーに早期の移行とフィードバックの共有を求めています。移行の仕組みについては、参考資料で詳しく説明しています。
明確な阻害要因がある場合、最新の v6 を使い続けることも妥当な選択肢です。率直に言うと、Prisma 8 にはまだ MongoDB のトランザクションメソッドがなく、複数ドキュメントへの書き込みでは mongodb ドライバーのセッションを直接使用します。また、Prisma 8 のリリース候補間で MongoDB の動作が変更される可能性があります。
判断表
| 状況 | 方針 |
|---|---|
| 以下の阻害要因に該当しない | Prisma 8 に移行し、verify-cutover-checklist を実行して、Prisma チームにフィードバックを共有します |
| 新規プロジェクト/プロトタイプ/社内ツール | Prisma 8 に移行します |
コードベースで複数ドキュメントトランザクション($transaction)を使用している — grep で確認し、質問はしないでください | まず raw-driver のセッションに相当する処理を計画します(client-api-mapping を参照)。または、Prisma 8 に MongoDB のトランザクションメソッドが追加されるまで v6 を使い続けます |
| チームがリリース候補間の破壊的変更に対応できない | MongoDB サポートがアーリーアクセスを終了するまで v6 を使い続けます |
| リスクを避けたいが、関心はある | v6 のスキーマを使って prisma6Schema(...) で Prisma 8 を実行し(schema-contract-mapping を参照)、コピー上でリハーサルしてから(verify-cutover-checklist を参照)、移行します |
注:このセクションは、Prisma 8 に MongoDB のトランザクションメソッドが追加された時点で更新されます。
v6 を使い続ける場合:適切な管理(放置ではなく、意図的な継続)
- Prisma パッケージを最新の 6.x 系列に固定し、6.x のパッチリリースを継続して適用します。
- Prisma のリリースノートと、6.x 系列のセキュリティ勧告を確認します。
- 従来の v6 MongoDB セットアップを維持します。スキーマでは
url = env("DATABASE_URL")を使い、db pushワークフローを使用し、SQL ドライバーアダプターは使用しません(v6 の MongoDB 構成については、prisma-orm-setupを参照してください)。 - Prisma 8 の MongoDB サポートがアーリーアクセスを終了したとき、または阻害要因が解消されたときに、方針を再検討します。
参考ファイル
| 参考資料 | 内容 |
|---|---|
references/decision-stay-or-migrate.md | 意思決定の全体像、ブロッカーの確認、現状維持に伴う衛生管理の詳細 |
references/schema-contract-mapping.md | v6 のスキーマ(mongodb プロバイダー、@db.ObjectId、複合型)から Prisma 8 の契約概念への対応 |
references/client-api-mapping.md | v6 のクライアント呼び出しから Prisma 8 の同等機能への対応。生のエスケープハッチとトランザクションを含みます。名称は対応しますが、同等性はありません |
references/migrations-mapping.md | v6 の db push のみの運用から Prisma 8 の plan/migrate/verify/sign フローへの移行 |
references/verify-cutover-checklist.md | データ移行なしでの検証。同じ DB、インデックスの同等性、切り替え前の段階的な往復テスト |
検証済みの情報
このスキルに記載されている Prisma 8 の情報は、
@prisma/orm-mongo 8.0.0-rc.13 向けに書かれた
Prisma ORM 6 to 8 (MongoDB) guideと、
コミット
75c1460515fa2f11971533f6a1dec5dab35d4123時点の
prisma/ormにあるprisma-8スキルに照らして確認されています。MongoDB のサポート内容はリリース候補版の間も変わるため、Prisma 8 に関する情報をもとに作業する前に、インストール済みのバージョン(npm ls @prisma/orm-mongo)と、それに同期したprisma-8スキルを確認してください。
MongoDB で Prisma 8 を使用するには、Node.js 22.18 以降(24 系では 24.11 以降、24 を推奨)、TypeScript 5.9 以降、MongoDB 8.0 以降、およびピア依存関係としてmongodb@7が必要です。mongodb@7ドライバーでは、接続文字列での AWS 認証情報の指定は受け付けられなくなりました。
引き継ぎルール
このスキルは調査の橋渡しをするものであり、Prisma 8 自身のドキュメントに代わるものではありません。プロジェクトを Prisma 8 に切り替えた後は、prisma skills syncを実行して、同期されたprisma-8/SKILL.mdを読み、日々の作業ではその手順に従ってください。このスキルの要約に頼り続けないでください。