2025 年 9 月 10 日

无 Rust 的 Prisma ORM 已准备好投入生产

Prisma ORM 的未来已至:无 Rust 版本的 Prisma ORM 和 ESM-first 的 prisma-client 生成器均已在 v6.16.0 中普遍可用。查阅这篇文章,了解关于最新版本以及更多 Prisma Postgres 更新的所有信息。

Visual for 6.16.0

Prisma ORM 的未来:无 Rust & ESM-first

八个月前,我们发布了 ORM 宣言,首次暗示我们将从 Prisma ORM 中移除基于 Rust 的查询引擎

我们通过将 Prisma 的核心逻辑从 Rust 迁移到 TypeScript,并重新设计 ORM 以使其更易于定制和扩展来解决这个问题。

从 Prisma ORM 中移除 Rust 的好处

经过大量努力和社区反馈,我们非常高兴地宣布迁移已完成,您现在可以在生产应用中使用不含 Rust 引擎的 Prisma ORM。🎉 这对 Prisma ORM 来说是一个重要的里程碑,并带来了许多好处

  • 捆绑包大小减少约 90%
  • 查询速度更快(请查看我们的最新基准测试
  • 更低的 CPU 占用
  • 更少的部署复杂性
  • 更容易进行开源贡献

一个新的 ESM-first prisma-client 生成器

此外,新的、灵活的、ESM-first 的 prisma-client 生成器也已准备好投入生产。以下是其主要优势的快速概述

  • 不再有神秘地生成到 node_modules;生成的代码完全由开发者控制
  • 默认兼容 ESM
  • 针对特定运行时(Node.js、Deno、Bun、Cloudflare 等)的灵活配置

它们共同构成了 Prisma ORM 的未来,并将成为即将发布的 v7 主要版本中的默认使用方式。

开始使用无 Rust & ESM-first 的 Prisma ORM

首先,在您的 Prisma 模式中,将新的 "prisma-client" 生成器配置为您的 provider,并将 engineType 设置为 "client"

注意:如果您之前尝试过无 Rust 的 ORM,您现在也可以从 previewFeatures 数组中删除 queryCompilerdriverAdapter 功能标志。如果您使用过 binaryTargets,也可以删除它们。

Rust 引擎以前捆绑了与数据库交互所需的数据库驱动。现在 Rust 引擎已被移除,您需要手动为您正在使用的数据库安装 Prisma ORM 的驱动适配器,例如,要使用 pg 连接 PostgreSQL,您需要使用 @prisma/adapter-pg

最后,您可以使用 PrismaPg 驱动适配器实例化 PrismaClient,如下所示

注意:要了解更多信息并查看所有其他受支持数据库的说明,请查阅文档

您也可以通过使用我们新的 create-db 命令创建数据库并使用新的 Prisma ORM 版本连接它来快速尝试一下

然后,在连接时使用命令输出中以 postgresql:// 开头的连接字符串。

注意:无 Rust 的 Prisma ORM 版本也与 Prisma PostgresAccelerate 兼容 🎉

我们还提供了几个与主要 Web 框架兼容的即用型示例,供您试用新版本的 Prisma ORM

Prisma ORM 在类型检查性能方面超越 Drizzle

运行时性能并非唯一重要的性能类别。事实上,在 Prisma 团队非常重视的 DX 方面,类型检查性能同样重要:如果您的 TypeScript 类型变得过于复杂,并且编译器需要做太多的工作(例如推断类型),它可能会减慢您的编辑器,导致自动补全滞后或阻止跳转到定义的功能。

我们与 TypeScript 专家 David Blass 合作,寻找改进 Prisma ORM 类型检查性能的方法,并创建了与 Drizzle 比较类型检查性能的基准测试。

以下是测量 TypeScript 编译器检查 Prisma 和 Drizzle 类型所需时间的 TLDR 结果

Schema

Prisma ORMDrizzle ORM差异 (ms)差异 (%)205ms601ms+396ms+193%

查询

Prisma ORMDrizzle ORM差异 (ms)差异 (%)335ms697ms362ms+108%

我们还针对 Drizzle 最近发布的具有改进类型检查性能的测试版进行了测量,该版本显著减少了模式实例化到约 5k(与 Prisma ORM 相比增加了 1072%)。对于查询,Drizzle 的 RQB 现在平均比 Prisma 少实例化 32%,但检查时间仍然慢约 1.5 倍。

您可以在此处阅读我们基准测试设置和结果的详细信息:为什么 Prisma ORM 检查类型比 Drizzle 更快

直接在 Prisma 控制台管理 OAuth 应用程序

您现在可以直接在 Prisma 控制台中管理 OAuth 应用程序

这意味着,您可以开始为您的用户提供 Prisma Postgres 数据库,而无需等待我们提供 OAuth 应用程序凭据。通过此流程,如果您的用户想保留数据库,他们可以声明它并将其转移到他们自己的 Prisma 工作区。

如果您正在创建 OAuth 应用程序以为自己的用户提供 Prisma Postgres,请考虑成为官方合作伙伴!作为合作伙伴,您将有资格获得专门的合作伙伴计划,为您提供特殊定价优惠以支持您的成长!

试用并分享您的反馈

我们过去几周对健壮性和稳定性的关注得到了回报!本周是 Prisma ORM 历史上一个重要的里程碑,也是迈向 v7 的一大步。Prisma ORM 终于摆脱了 Rust,并通过新的 prisma-client 生成器变得更加灵活和可预测。

此外,您现在可以自己创建 OAuth 应用程序,以便为您的用户提供 Prisma Postgres。我们很高兴看到您将用它构建什么!

X 上告诉我们您的想法、问题和反馈,并在 Discord 上加入对话。

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . This site is unofficial and not affiliated with Prisma Data, Inc.