next-forge
Prisma 7 升级完整指南:ESM 优先模块系统、改进的 TypeScript 类型生成、全新 prisma.config.ts 配置格式,以及从 Prisma 5/6 分步迁移的详细方案。
Prisma 7 是一个重要的大版本升级,带来了 ESM 优先的模块系统、改进的类型生成、新的配置文件格式(prisma.config.ts)等重大变更。
最重要的变化之一是 Prisma 7 默认使用 ESM,不再自动支持 CommonJS。如果项目仍使用 CJS,需要在 prisma.config.ts 中显式配置,或逐步迁移到 ESM。
新的 prisma.config.ts 配置文件取代了部分 schema.prisma 中的配置,数据库 URL、生成路径等现在可以在 TypeScript 配置中管理,支持环境变量的类型安全访问。
类型生成方面,Prisma 7 改进了对复杂关系查询的类型推断,select 和 include 的返回类型更加精确,减少了需要手动类型断言的场景。
升级建议:先在开发环境用 prisma migrate dev 测试迁移,确认无误后再在生产环境执行 prisma migrate deploy,避免数据库状态不一致。