数据库
MongoDB 项目升级 Prisma…
当 Prisma ORM MongoDB 项目考虑升级到 v7 或评估迁移到 Prisma Next 时,判断该走哪条路并执行迁移。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
MongoDB 项目升级 Prisma 特定
解决思路
- 明确 MongoDB 项目没有通往 Prisma 7 的升级路径:v6 是 MongoDB 的经典 ORM 终版,v7 永远不会提供 MongoDB 连接器;后继路径是 Prisma Next,其 MongoDB 支持处于 Early Access,GA 计划在 Postgres 之后。
- 绝不建议 MongoDB 项目“升级到 Prisma 7”,因为该连接器不存在,prisma-upgrade-v7 指南不适用于 MongoDB 项目。
- 绝不通过把应用重写到 SQL 数据库来解决版本问题,更换数据库引擎是另一个大得多的决策,不应由你隐式做出。
- 按版本格局判断:Prisma ORM v6 完全支持 mongodb provider,最新 6.x 是当前稳定路径和维护线;Prisma ORM v7 没有 MongoDB 连接器,永远不是选项;Prisma Next 的 MongoDB 支持处于 Early Access,是后继路径。
- 优先鼓励迁移到 Prisma Next:其 MongoDB 支持功能可用且迭代快,GA 计划在 Postgres 之后,Prisma 团队希望 MongoDB 用户尽早迁移并反馈。
- 在存在硬性阻塞时,留在最新 v6 也是合理选择:Next 的 Mongo façade 尚不支持事务(底层驱动可直接使用,预计很快改变),且 pre-1.0 的次版本可能带有破坏性变更并附带升级配方。
- 按决策表选择方向:无阻塞则迁移到 Next,运行 verify-cutover-checklist 并向 Prisma 团队反馈;绿地/原型/内部工具迁移到 Next;代码库使用多文档事务($transaction)时先用 grep 检查而非询问,规划原始驱动 session 等价方案(见 client-api-mapping),或留在 v6 直到 façade 包装器落地;团队无法承受 pre-1.0 次版本间破坏性升级则留在 v6 直到 GA;风险厌恶但感兴趣则在副本上运行分阶段的 Next 往返测试(见 verify-cutover-checklist),然后迁移。
- 若留在 v6,执行有意的维护而非放任:将 Prisma 包固定到最新 6.x 线并持续接收 6.x 补丁发布。
- 跟踪 6.x 线的 Prisma 发布说明和安全公告。
- 保持经典 v6 MongoDB 设置:schema 中使用 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 schema(mongodb provider、@db.ObjectId、复合类型)映射到 Next contract 概念。
- 参考 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(pre-1.0,约 v0.14/0.15 线)验证;在依据任何 Next 侧声明行动前,对照实际安装的版本验证(检查项目的 @prisma-next/* 版本及随其安装的 prisma-next 技能)。
- Next 的 Mongo 目标要求 MongoDB 8.0+,并期望 mongodb@^7 作为用户提供的 peer dependency。
- 本技能是发现桥梁,不替代 Prisma Next 自己的文档;项目切换到 Prisma Next 后,运行 Prisma Next 的 init/技能安装,并遵循其自己的技能(quickstart、contract、queries、migrations、runtime)进行日常工作,不要继续依据本技能的摘要工作。
适用边界 · 注意事项
- 项目使用多文档事务($transaction)且尚未规划原始驱动 session 等价方案时,不要迁移到 Prisma Next,应留在 v6 直到 façade 包装器落地。
- 团队无法承受 pre-1.0 次版本间的破坏性升级时,不要迁移到 Prisma Next,应留在 v6 直到 GA。
- 不要建议 MongoDB 项目升级到 Prisma 7,也不要通过重写应用到 SQL 数据库来解决版本问题。