Community编程与开发github.com

Prisma MongoDB 升级路径

针对 Prisma ORM MongoDB 项目(v6)的决策与迁移指南,这些项目无法升级到 v7。当 MongoDB 项目询问升级 Prisma、遇到 'upgrade to prisma 7' 且 provider 为 'mongodb' 时,或评估迁移到 Prisma Next 时使用。触发关键词包括 'upgrade prisma mongodb'、'prisma 7 mongodb'、'mongodb prisma migration'、'prisma next mongodb'。

Prisma MongoDB 升级路径 是什么?

本技能针对使用 Prisma ORM v6 且 provider 为 'mongodb' 的项目提供决策与迁移指导。由于 Prisma v7 不包含 MongoDB 连接器,v6 是经典 ORM 对 MongoDB 的最终大版本,因此项目只有两条路径:迁移到 Prisma Next(推荐路径,MongoDB 支持处于早期访问阶段,GA 计划在 Postgres 之后进行),或停留在 v6(合法但受硬性限制)。技能详细列出了决策因素,包括多文档事务支持、预 1.0 版本兼容性等,并提供了参考文件,涵盖 schema 映射、客户端 API 迁移、数据验证清单等。技能强调切勿建议 MongoDB 项目升级到 Prisma v7,也切勿擅自改用其他数据库。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/prisma/skills/tree/main/prisma-mongodb-upgrade

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Prisma MongoDB 升级路径 是做什么的?

MongoDB 项目是 Prisma 唯一无法进入 Prisma 7 的群体:v6 是 MongoDB 的经典 ORM 最终大版本,而 v7 永远不提供 MongoDB 连接器。继承路径是 Prisma Next,其中 MongoDB 支持处于早期访问阶段,GA 计划在 Postgres 之后。本技能提供真实决策框架——迁移到 Prisma Next(推荐路径),或停留在 v6(有硬性限制),并包含迁移机制。

绝不要执行以下操作:

  • 绝不要建议 MongoDB 项目“升级到 Prisma 7”。该连接器不存在。prisma-upgrade-v7 指南不适用于 MongoDB 项目。
  • 绝不要通过将应用重写为 SQL 数据库来解决版本问题。更改数据库引擎是一个独立且更重大的决定,不应由您隐含地做出。

版本概览

版本MongoDB 状态
Prisma ORM v6完全支持(mongodb provider);最新 6.x 是当前稳定路径;维护线
Prisma ORM v7无 MongoDB 连接器——永远不是可选方案
Prisma NextMongoDB 支持处于早期访问阶段,积极开发中,GA 计划在 Postgres 之后——MongoDB 项目的继承路径

决策说明

迁移到 Prisma Next 是推荐路径。 Prisma Next 中的 MongoDB 支持是早期访问:功能完整且进展迅速,GA 计划在 Postgres 之后——Prisma 团队希望 MongoDB 用户尽早迁移并分享反馈。迁移机制详见参考文件。

停留在最新 v6 在存在硬性限制时仍是一个合法选择——明确说明:Next 的 MongoDB 外观层目前尚不包装事务(底层驱动可直接使用;预计很快会改变),且预 1.0 的小版本可能包含带有已发布升级指南的破坏性更改。

决策表

信号方向
以下无限制条件迁移到 Next;运行 verify-cutover-checklist 并向 Prisma 团队分享反馈
新项目 / 原型 / 内部工具迁移到 Next
代码库使用多文档事务($transaction)——用 grep 检查,无需询问首先规划原始驱动会话替代方案(参见 client-api-mapping),或停留在 v6 直到外观层包装完成
团队无法承受预 1.0 小版本之间的破坏性升级停留在 v6 直到 GA
风险规避但有意向在副本上执行分阶段 Next 往返测试(参见 verify-cutover-checklist),然后迁移

注意:事务缺口预计很快会修复——本节将在 Prisma Next 中合并外观层事务时更新。

如果停留在 v6:维护措施(有意的停留,而非忽视)

  • 将 Prisma 软件包锁定到最新的 6.x 行,并持续接收 6.x 补丁版本。
  • 跟踪 Prisma 6.x 行的发布说明和安全公告。
  • 保持经典的 v6 MongoDB 配置:schema 中的 url = env("DATABASE_URL")、db push 工作流,无 SQL 驱动适配器(参见 prisma-database-setup 了解 v6 MongoDB 形态)。
  • 待 Prisma Next 的 MongoDB 达到 GA 或阻止尝试 EA 的限制条件解除后重新评估。

参考文件

参考文件涵盖内容
references/decision-stay-or-migrate.md完整决策框架、限制条件检查、停留维护详情
references/schema-contract-mapping.mdv6 schema(mongodb provider、@db.ObjectId、复合类型)→ Next 合同概念
references/client-api-mapping.mdv6 客户端调用 → Next 等效调用,包括原始逃逸接口和事务——名称映射,功能不等效
references/migrations-mapping.mdv6 仅 db push 故事 → Next 的 plan/migrate/verify/sign 流程
references/verify-cutover-checklist.md无数据移动验证:同一数据库、索引一致性、分阶段往返测试后切换

验证依据

本技能中关于 Prisma Next 的行为声明已根据 prisma/prisma-next 在提交 a2791c5dd59d579b4b3052942ae7f8fe5e2ee852(预 1.0,约 v0.14/0.15 行)时验证。Prisma Next 在早期访问阶段发展迅速:在对任何 Next 端声明采取行动之前,请根据实际安装的版本进行验证(检查项目的 @prisma-next/* 版本以及随附的 prisma-next 技能)。Next 的 MongoDB 目标需要 MongoDB 8.0+,并要求用户提供 mongodb@^7 作为对等依赖。

交接规则

本技能是发现桥梁,不能替代 Prisma Next 自身的文档。项目切换到 Prisma Next 后,请运行 Prisma Next 的 init/技能安装,并遵循其自身技能(快速入门、合同、查询、迁移、运行时)进行日常开发——不要继续使用本技能的摘要。

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

prisma/prisma-cli

Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not Prisma Compute app deployment. For Prisma Compute, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, apps, deployments, logs, or domains, use the `prisma-compute` skill instead. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma studio", "prisma mcp".

prisma/prisma-client-api

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

prisma/prisma-compute

Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, Compute auth/workspaces, apps/deployments/build logs/domains, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte, Nest, Turborepo, or custom/prebuilt artifacts.

prisma/prisma-database-setup

Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup".

prisma/prisma-driver-adapter-implementation

Required reference for Prisma v7 driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter/Transaction interfaces. Contains critical contract details not inferable from code examples — including the transaction lifecycle protocol, error mapping requirements, and verification checklist. Existing implementations do not replace this skill.

prisma/prisma-postgres

Prisma Postgres setup and operations guidance across Console, create-db CLI, Management API, and Management API SDK. Use when creating Prisma Postgres databases, working in Prisma Console, provisioning with create-db/create-pg/create-postgres, or integrating programmatic provisioning with service tokens or OAuth.

prisma/prisma-postgres-setup

Set up a new Prisma Postgres database and connect it to a local project using the Management API. Use when asked to "set up a database", "create a Prisma Postgres project", "get a connection string", "connect my app to Prisma Postgres", or "provision a database".

prisma/prisma-upgrade-v7

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".

相关技能