Prisma MongoDB アップグレードパス
MongoDB プロジェクトは、Prisma 7 への道がない唯一の Prisma コーホートです:v6 は MongoDB 向けの最後のクラシック ORM メジャーバージョンであり、v7 には MongoDB コネクタが搭載されることはありません。後継パスは Prisma Next であり、MongoDB サポートは早期アクセス段階で、Postgres の後に GA が計画されています。このスキルは、Prisma Next への移行(推奨パス)または v6 に留まる(ただしハードブロッカーが適用される)という実際の判断を枠組みとして提供し、移行メカニズムを説明します。
以下のいずれも絶対に行わないでください:
- MongoDB プロジェクトに「Prisma 7 にアップグレード」するようアドバイスしないでください。v7 にはコネクタが存在しません。
prisma-upgrade-v7ガイドは MongoDB プロジェクトには適用されません。 - バージョン問題を解決するために、アプリを SQL データベースに書き換えることを暗黙的に提案しないでください。データベースエンジンの変更は別の、はるかに大きな判断であり、あなたが暗黙的に下すべきものではありません。
バージョン状況
| バージョン | MongoDB の状態 |
|---|---|
| Prisma ORM v6 | 完全サポート(mongodb プロバイダ);最新の 6.x が現在の安定パス;メンテナンスライン |
| Prisma ORM v7 | MongoDB コネクタなし — 選択肢として存在しない |
| Prisma Next | MongoDB サポートは 早期アクセス、活発に開発中、Postgres の後に GA 予定 — MongoDB プロジェクトの後継パス |
判断:最初に
Prisma Next への移行が推奨パスです。 Prisma Next における MongoDB サポートは早期アクセスです:機能的で急速に進化しており、Postgres の後に GA が計画されています — Prisma チームは MongoDB ユーザーに早期移行とフィードバックの共有を求めています。移行メカニズムの詳細はリファレンスに記載されています。
最新の v6 に留まることは、ハードブロッカーが適用される場合には正当な選択肢です — 明確に述べると:Next の MongoDB ファサードはまだトランザクションをラップしていません(基礎となるドライバーは直接利用可能ですが、これは間もなく変更される見込みです)、またプレ 1.0 のマイナーバージョンでは公開されたアップグレードレシピとともに破壊的変更が発生する可能性があります。
判断テーブル
| シグナル | 方向性 |
|---|---|
| 以下のブロッカーが該当しない | Next に移行;verify-cutover-checklist を実行し、Prisma チームにフィードバックを共有 |
| グリーンフィールド / プロトタイプ / 内部ツール | Next に移行 |
コードベースがマルチドキュメントトランザクション($transaction)を使用 — grep で確認、質問しない | 最初に raw ドライバーセッションの代替手段を計画(client-api-mapping を参照)、またはファサードラッパーが利用可能になるまで v6 に留まる |
| チームがプレ 1.0 のマイナーバージョン間での破壊的アップグレードに対応できない | GA まで v6 に留まる |
| リスク回避的だが興味がある | コピーで段階的な Next ラウンドトリップを実行(verify-cutover-checklist を参照)、その後移行 |
注:トランザクションのギャップは間もなく解消される見込みです — このセクションは、Prisma Next でファサードトランザクションがマージされたときに更新されます。
v6 に留まる場合:衛生状態(意図的な留保であり、放置ではない)
- Prisma パッケージを最新の 6.x ラインに固定し、6.x のパッチリリースを引き続き適用する。
- Prisma のリリースノートとセキュリティアドバイザリを 6.x ラインについて追跡する。
- クラシックな v6 MongoDB セットアップを維持する:スキーマ内の
url = env("DATABASE_URL")、db pushワークフロー、SQL ドライバーアダプターなし(v6 MongoDB の形状についてはprisma-database-setupを参照)。 - Prisma Next の MongoDB が GA になったとき、または EA を試すためのブロッカーが解決されたときに再評価する。
リファレンスファイル
| リファレンス | 内容 |
|---|---|
references/decision-stay-or-migrate.md | 完全な判断フレーミング、ブロッカーチェック、留まる場合の衛生状態の詳細 |
references/schema-contract-mapping.md | v6 スキーマ(mongodb プロバイダ、@db.ObjectId、複合型)→ Next コントラクトの概念 |
references/client-api-mapping.md | v6 クライアント呼び出し → Next の同等機能、raw エスケープハッチとトランザクションを含む — 名前はマッピングされるが、同等性は保証されない |
references/migrations-mapping.md | v6 の db push のみのストーリー → Next の plan/migrate/verify/sign フロー |
references/verify-cutover-checklist.md | データ移動なしの検証:同じ DB、インデックス同等性、カットオーバー前の段階的ラウンドトリップ |
検証済み
このスキルにおける Prisma Next の動作に関する主張は、prisma/prisma-next のコミット a2791c5dd59d579b4b3052942ae7f8fe5e2ee852(プレ 1.0、〜v0.14/0.15 ライン)で検証されました。Prisma Next は早期アクセス中で急速に変化しています:Next 側の主張に基づいて行動する前に、実際にインストールされているバージョンで検証してください(プロジェクトの @prisma-next/* バージョンと、それに付属する prisma-next スキルを確認)。Next の Mongo ターゲットは MongoDB 8.0+ を必要とし、ユーザー提供のピア依存関係として mongodb@^7 を期待します。
引き継ぎルール
このスキルは発見のためのブリッジであり、Prisma Next 自身のドキュメントを置き換えるものではありません。プロジェクトが Prisma Next に切り替わった後は、Prisma Next の init/スキルインストールを実行し、日々の作業では独自のスキル(クイックスタート、コントラクト、クエリ、マイグレーション、ランタイム)に従ってください — このスキルの要約から引き続き作業を行わないでください。