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 Next | MongoDB 支持处于早期访问阶段,积极开发中,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.md | v6 schema(mongodb provider、@db.ObjectId、复合类型)→ Next 合同概念 |
references/client-api-mapping.md | v6 客户端调用 → Next 等效调用,包括原始逃逸接口和事务——名称映射,功能不等效 |
references/migrations-mapping.md | v6 仅 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/技能安装,并遵循其自身技能(快速入门、合同、查询、迁移、运行时)进行日常开发——不要继续使用本技能的摘要。