Prisma ORM 6.6.0:ESM 支持、D1 迁移和 MCP 服务器
Posted: Wed Apr 23, 2025 5:49 am
v6.6.0 Prisma ORM 版本包含许多令人兴奋的功能:通过新生成器提供的 ESM 支持、对 Cloudflare D1 和 Turso 迁移的早期访问支持、用于在您最喜欢的 AI 工具中直接管理数据库的 MCP 服务器等等。
Prisma ORM v6.6.0 发布
自发布ORM 宣言以来,我们一直在稳步推进 Prisma ORM 的各项改进。在 v6.6.0 中,我们带来了一些期待已久的功能,例如ESM 支持,以及将架构变更推送至 D1 和 Turso 数据库的初始版本。
ESM 支持更灵活的prisma-client生成器(早期访问)
我们很高兴推出一种prisma-client更灵活的新生成器,它带有 ESM 支持,并且消除了任何可能与当前生成器产生摩擦的魔法行为prisma-client-js。
主要区别如下:
需要一条路径;不再output有“魔法”生成node_modules
moduleFormat通过字段支持 ESM 和 CommonJS
输出与应用程序其他代码一样捆绑的纯 TypeScript;这为 吉尔吉斯斯坦电话号码列表 您提供了对应用程序捆绑的更多控制和灵活性
如果您之前在项目设置中遇到过 Prisma ORM 问题(例如 monorepos、Next.js、Vite 等),我们认为这个新的生成器将极大地改善您的工作流程——尝试一下并告诉我们您的想法!
以下是如何prisma-client在 Prisma 模式中使用新生成器:
// prisma/schema.prisma
generator client {
provider = "prisma-client" // no `-js` at the end
output = "../src/generated/prisma" // `output` is required
moduleFormat = "esm" // or `"cjs"` for CommonJS
}
该生成器还具有更多字段,例如runtime,generatedFileExtension和importFileExtension,可帮助您根据特定项目需求调整生成的 Prisma 客户端代码。
然后,您可以在应用程序中PrismaClient从生成的文件夹中导入构造函数(以及其他任何内容):
// src/index.ts
import { PrismaClient } from './generated/prisma/client'
截至目前,我们建议将生成的'./generated/prisma'文件夹添加到版本控制之外,.gitignore因为编译后的查询引擎二进制文件可能会在另一台计算机(具有不同的操作系统)上运行应用程序时导致兼容性问题:
# .gitignore
./src/generated/prisma
我们认为该prisma-client生成器是相比更现代的版本prisma-client-js,并将在 Prisma 7 的下一个主要版本增量中使其成为默认生成器。以下是我们计划添加的一些更令人兴奋的功能:
拆分生成的 Prisma Client 文件,以避免由于生成的文件过长而减慢代码编辑器的速度
使用 Prisma Postgres 时不再需要 Accelerate 扩展
Prisma ORM v6.6.0 发布
自发布ORM 宣言以来,我们一直在稳步推进 Prisma ORM 的各项改进。在 v6.6.0 中,我们带来了一些期待已久的功能,例如ESM 支持,以及将架构变更推送至 D1 和 Turso 数据库的初始版本。
ESM 支持更灵活的prisma-client生成器(早期访问)
我们很高兴推出一种prisma-client更灵活的新生成器,它带有 ESM 支持,并且消除了任何可能与当前生成器产生摩擦的魔法行为prisma-client-js。
主要区别如下:
需要一条路径;不再output有“魔法”生成node_modules
moduleFormat通过字段支持 ESM 和 CommonJS
输出与应用程序其他代码一样捆绑的纯 TypeScript;这为 吉尔吉斯斯坦电话号码列表 您提供了对应用程序捆绑的更多控制和灵活性
如果您之前在项目设置中遇到过 Prisma ORM 问题(例如 monorepos、Next.js、Vite 等),我们认为这个新的生成器将极大地改善您的工作流程——尝试一下并告诉我们您的想法!
以下是如何prisma-client在 Prisma 模式中使用新生成器:
// prisma/schema.prisma
generator client {
provider = "prisma-client" // no `-js` at the end
output = "../src/generated/prisma" // `output` is required
moduleFormat = "esm" // or `"cjs"` for CommonJS
}
该生成器还具有更多字段,例如runtime,generatedFileExtension和importFileExtension,可帮助您根据特定项目需求调整生成的 Prisma 客户端代码。
然后,您可以在应用程序中PrismaClient从生成的文件夹中导入构造函数(以及其他任何内容):
// src/index.ts
import { PrismaClient } from './generated/prisma/client'
截至目前,我们建议将生成的'./generated/prisma'文件夹添加到版本控制之外,.gitignore因为编译后的查询引擎二进制文件可能会在另一台计算机(具有不同的操作系统)上运行应用程序时导致兼容性问题:
# .gitignore
./src/generated/prisma
我们认为该prisma-client生成器是相比更现代的版本prisma-client-js,并将在 Prisma 7 的下一个主要版本增量中使其成为默认生成器。以下是我们计划添加的一些更令人兴奋的功能:
拆分生成的 Prisma Client 文件,以避免由于生成的文件过长而减慢代码编辑器的速度
使用 Prisma Postgres 时不再需要 Accelerate 扩展