prisma-mongodb-upgrade

Par prisma · skills

Guide de décision et de migration pour les projets Prisma ORM MongoDB en v6, qui ne disposent d'aucun chemin de mise à niveau vers la v7. À utiliser lorsqu'un projet MongoDB pose des questions sur la mise à niveau de Prisma, lorsque « upgrade to prisma 7 » apparaît dans un projet avec `provider = "mongodb"`, ou lors de l'évaluation d'un passage à Prisma Next. Se déclenche sur « upgrade prisma mongodb », « prisma 7 mongodb », « mongodb prisma migration », « prisma next mongodb ».

npx skills add https://github.com/prisma/skills --skill prisma-mongodb-upgrade

Chemin de migration Prisma MongoDB

Les projets MongoDB sont la seule cohort Prisma sans route vers Prisma 7 : v6 est l'ORM classique terminal pour MongoDB, et v7 n'expédie jamais de connecteur MongoDB. Le chemin successeur est Prisma Next, où le support MongoDB est en Early Access avec GA planifiée après Postgres. Cette skill encadre la vraie décision — migrer vers Prisma Next (le chemin encouragé), ou rester sur v6 où un bloqueur dur s'applique — et porte la mécanique de migration.

Ne fais jamais l'un de ces deux :

  • Ne conseille jamais à un projet MongoDB de « faire la mise à jour vers Prisma 7 ». Le connecteur n'existe pas là. Le guide prisma-upgrade-v7 ne s'applique pas aux projets MongoDB.
  • Ne résous jamais la question de version en réécrivant l'app sur une base de données SQL. Changer le moteur de base de données est une décision séparée, beaucoup plus grande, qui n'est pas la tienne à prendre implicitement.

Le paysage des versions

Version Statut MongoDB
Prisma ORM v6 Entièrement supporté (provider mongodb) ; la dernière 6.x est le chemin stable actuel ; ligne de maintenance
Prisma ORM v7 Pas de connecteur MongoDB — jamais une option
Prisma Next Support MongoDB en Early Access, activement développé, GA planifiée après Postgres — le chemin successeur pour les projets MongoDB

La décision, d'emblée

Migrer vers Prisma Next est le chemin encouragé. Le support MongoDB dans Prisma Next est Early Access : fonctionnel et évoluant rapidement, avec GA planifiée après Postgres — et l'équipe Prisma veut que les utilisateurs MongoDB migrent tôt et partagent leurs retours. La mécanique de migration est détaillée dans les références.

Rester sur la dernière v6 reste un choix légitime où un bloqueur dur s'applique — dit clairement : la façade Next Mongo n'encapsule pas encore les transactions (le driver sous-jacent est disponible directement ; ceci devrait changer bientôt), et les minors pré-1.0 peuvent porter des breaking changes avec des recettes de migration publiées.

Tableau de décision

Signal Direction
Aucun bloqueur ci-dessous ne s'applique Migrer vers Next ; exécuter le verify-cutover-checklist et partager des retours avec l'équipe Prisma
Greenfield / prototype / outil interne Migrer vers Next
La codebase utilise des transactions multi-documents ($transaction) — vérifier avec grep, ne pas demander Planifier d'abord les équivalents de session raw-driver (voir client-api-mapping), ou rester sur v6 jusqu'à ce que le wrapper façade arrive
L'équipe ne peut pas absorber les breaking upgrades pré-1.0 entre les minors Rester sur v6 jusqu'à GA
Averse au risque mais intéressé Exécuter un round-trip Next par étapes sur une copie (voir verify-cutover-checklist), puis migrer

Note : l'écart transactionnel devrait se fermer bientôt — cette section sera mise à jour quand les transactions façade fusionneront dans Prisma Next.

Si rester sur v6 : hygiène (un choix délibéré, pas de la négligence)

  • Épingler les packages Prisma à la dernière ligne 6.x et continuer à prendre les patch releases 6.x.
  • Suivre les notes de release Prisma et les avis de sécurité pour la ligne 6.x.
  • Conserver le classique setup v6 MongoDB : url = env("DATABASE_URL") dans le schéma, workflow db push, aucun adaptateur de driver SQL (voir prisma-database-setup pour la forme v6 MongoDB).
  • Réévaluer quand le MongoDB de Prisma Next sera GA, ou quand les bloqueurs pour essayer EA seront résolus.

Fichiers de référence

Référence Ce qu'elle couvre
references/decision-stay-or-migrate.md Le cadrage de décision complet, les vérifications de bloqueur, et le détail de l'hygiène de stay
references/schema-contract-mapping.md Schéma v6 (provider mongodb, @db.ObjectId, types composites) → concepts de contrat Next
references/client-api-mapping.md Appels client v6 → équivalents Next, y compris les échappatoires raw et les transactions — les noms correspondent, la parité non
references/migrations-mapping.md Historique v6 db push-uniquement → flux Next plan/migrate/verify/sign
references/verify-cutover-checklist.md Vérification sans mouvements de données : même BD, parité d'index, round-trip par étapes avant cutover

Vérifié contre

Les affirmations comportementales à propos de Prisma Next dans cette skill ont été vérifiées contre prisma/prisma-next au commit a2791c5dd59d579b4b3052942ae7f8fe5e2ee852 (pré-1.0, ligne ~v0.14/0.15). Prisma Next évolue rapidement en Early Access : avant d'agir sur une affirmation côté Next, vérifiez-la contre la version réellement installée (vérifier les versions du projet @prisma-next/* et les skills prisma-next installées avec). La cible Mongo de Next nécessite MongoDB 8.0+ et s'attend à mongodb@^7 comme peer dependency fournie par l'utilisateur.

Règle de transmission

Cette skill est le pont de découverte, non un remplacement pour la propre documentation de Prisma Next. Après qu'un projet bascule vers Prisma Next, exécuter l'init/installation de skill de Prisma Next et suivre ses propres skills (quickstart, contract, queries, migrations, runtime) pour le travail au quotidien — ne pas continuer à travailler à partir des résumés de cette skill.

Skills similaires