无 Rust 的 Prisma Client 作为默认客户端
无 Rust 的 Prisma Client 已经开发了一段时间,一直可以追溯到 v6.16.0,早期版本可供开发者使用。现在,在版本 7.0 中,我们将其作为所有新项目的默认设置。开发者将能够获得:
采用新的无 Rust 客户端就像在主 `schema.prisma` 中将 `prisma-client-js` 提供程序替换为 `prisma-client` 一样简单。
1// schema.prisma2generator client {3 provider = "prisma-client"4}
生成的客户端和类型从 `node_modules` 移出
运行 `prisma generate` 时,生成的客户端运行时和项目类型现在**需要**在您项目的主 `schema.prisma` 中设置 `output` 路径。我们建议将它们生成在您项目的 `src` 目录中,以确保您现有的工具能够像处理您可能拥有的任何其他代码一样使用它们。
1// schema.prisma2generator client {3 provider = "prisma-client"4 // Generate my Client and Project types5 output = "../src/generated/prisma"6}
更新您的代码以从此生成的输出中导入 PrismaClient
1// Import from the generated prisma client2import { PrismaClient } from './generated/prisma/client';
对于仍需使用 `prisma-client-js` 但正在使用新输出选项的开发者,需要安装一个新包 `@prisma/client-runtime-utils`。
1# for prisma-client-js users only2npm install @prisma/client-runtime-utils
`prisma generate` 更改和删除 post-install hook
对于 `prisma generate`,我们删除了一些不再需要的标志:
prisma generate --data-proxyprisma generate --accelerateprisma generate --no-engineprisma generate --allow-no-models在以前的版本中,我们使用了一个 post-install hook 来自动生成您项目的客户端和类型。对于像 pnpm 这样的现代包管理器,这实际上带来了比解决更多的问题。因此,我们删除了这个 post-install hook,现在要求开发者明确调用 `prisma generate`。
作为这些更改的一部分,我们还删除了在 `migrate` 命令之间隐式运行 `prisma db seed` 的操作。
Prisma Client
作为转向无 Rust Prisma Client 的一部分,我们不再嵌入我们支持的数据库驱动程序。现在,开发者明确地在其源代码中提供项目所需的驱动程序适配器。对于 PostgresSQL,只需在您的项目中安装 `@prisma/adapter-pg`,配置连接字符串,并将其传递给 Prisma Client 的创建。
1// Import from the generated prisma client2import { PrismaClient } from './generated/prisma/client';34// Driver Adapter for Postgres5import { PrismaPg } from '@prisma/adapter-pg';67const adapter = new PrismaPg({8 connectionString: process.env.DATABASE_URL!,9});1011export const prisma = new PrismaClient({ adapter });
对于其他数据库
1// If using SQLite2import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3';3const adapter = new PrismaBetterSqlite3({4 url: process.env.DATABASE_URL || 'file:./dev.db'5})67// If using MySql8import { PrismaMariaDb } from '@prisma/adapter-mariadb';9const adapter = new PrismaMariaDb({10 host: "localhost",11 port: 3306,12 connectionLimit: 513});
我们还取消了在配置 Prisma Client 时对其他选项的支持:
驱动程序适配器命名更新
我们已将各种内部驱动程序适配器的命名约定标准化。以下驱动程序适配器已更新:
Schema 和配置文件更新
作为 Prisma CLI 读取项目配置方式更大更改的一部分,我们更新了 schema 中设置的内容以及 `prisma.config.ts` 中设置的内容。此外,作为此版本的一部分,对于希望执行内省的项目,现在需要 `prisma.config.ts`。
Schema 更改
对于配置文件的早期采用者,此版本已删除了一些内容:
简要的修改前后对比
1// schema.prisma2datasource db {3 provider = "postgresql"4 url = ".."5 directUrl = ".."6 shadowDatabaseUrl = ".."7}
1// ./prisma.config.ts2export default defineConfig({3 datasource: {4 url: '..',5 shadowDatabaseUrl: '..',6 }7})
显式加载环境变量
作为转向 Prisma 配置的一部分,我们不再在调用 Prisma CLI 时自动加载环境变量。相反,开发者可以利用 `dotenv` 等库来管理其环境变量并根据需要加载它们。这意味着您可以拥有专用的本地环境变量或仅为生产环境设置的环境变量。这消除了任何意外加载环境变量的情况,同时赋予开发者完全控制。
移除对 `package.json` 中 `prisma` 关键字的支持
在以前的版本中,用户可以在其项目 `package.json` 的 `prisma` 块中配置其 schema 入口点和种子脚本。随着转向 `prisma.config.ts`,这不再有意义并已移除。要进行迁移,请改用 Prisma 配置。
1{2 "name": "my-project",3 "version": "1.0.0",4 "prisma": {5 "schema": "./custom-path-to-schema/schema.prisma",6 "seed": "tsx ./prisma/seed.ts"7 }8}
1import 'dotenv/config'2import { defineConfig, env } from "prisma/config";3export default defineConfig({4 schema: "prisma/schema.prisma",5 migrations: {6 seed: "tsx prisma/seed.ts"7 },8 datasource: {...},9});
移除客户端引擎
我们已移除以下客户端引擎:
ReactNativeEngine已弃用的指标功能已移除
我们已在一段时间前弃用 previewFeature `metrics`,并已在版本 7 中完全移除它。如果您需要可用的指标相关数据,可以使用底层驱动程序适配器本身,例如来自 Postgres 驱动程序的池指标。
映射枚举
如果您在 Twitter 上关注了,您会看到我们预告了一个备受用户期待的功能将出现在 v7.0 中。这个备受期待的功能就是……映射枚举!我们现在支持枚举成员的 `@map` 属性,可用于设置其预期的运行时值。
1enum PaymentProvider {2 MixplatSMS @map("mixplat/sms")3 InternalToken @map("internal/token")4 Offline @map("offline")56 @@map("payment_provider")7}
1export const PaymentProvider: {2 MixplatSMS: 'mixplat/sms'3 InternalToken: 'internal/token'4 Offline: 'offline'5}
杂项
PRISMA_CLI_QUERY_ENGINE_TYPEPRISMA_CLIENT_ENGINE_TYPEPRISMA_QUERY_ENGINE_BINARYPRISMA_QUERY_ENGINE_LIBRARYPRISMA_GENERATE_SKIP_AUTOINSTALLPRISMA_SKIP_POSTINSTALL_GENERATEPRISMA_GENERATE_IN_POSTINSTALLPRISMA_GENERATE_DATAPROXYPRISMA_GENERATE_NO_ENGINEPRISMA_CLIENT_NO_RETRYPRISMA_MIGRATE_SKIP_GENERATEPRISMA_MIGRATE_SKIP_SEEDPrisma Accelerate 更改
我们已更改 Prisma ORM 使用 Prisma Accelerate 的配置方式。结合一些 Prisma Postgres 更新(稍后详述),您现在在实例化 Prisma Client 时使用新的 `accelerateUrl` 选项。
1import { PrismaClient } from "./generated/prisma/client"2import { withAccelerate } from "@prisma/extension-accelerate"34const prisma = new PrismaClient({5 accelerateUrl: process.env.DATABASE_URL,6}).$extends(withAccelerate())
我们之前在控制台和 VS Code 扩展中推出了新版本的 Prisma Studio,但 Prisma CLI 仍然附带旧版本。
现在,在 v7.0 中,我们已更新 Prisma CLI 以包含新的 Prisma Studio。您不仅可以检查数据库,还可以获得丰富的可视化效果,帮助您了解数据库中的连接关系。它可定制,体积更小,并且可以通过传递 `--url` 标志来检查远程数据库。此新版本的 Prisma Studio 不与 Prisma ORM 绑定,并为接下来的发展奠定了新基础。
Prisma Postgres 是我们托管的 Postgres 服务,其设计理念与近十年来指导 Prisma 的出色 DX 理念相同。它与无服务器环境配合良好,速度快,定价简单且提供慷慨的免费套餐。以下是新增功能:
Prisma Accelerate 的连接池更改
随着对 Prisma Postgres 本机添加连接池支持,Prisma Accelerate 现在充当专用的缓存层。如果您正在使用 Accelerate 的连接池功能,请不要担心!您现有的通过 Accelerate 的连接字符串将继续有效,您可以在准备好时切换到新的连接池。
简化的连接流程
几周前,我们在 Prisma Postgres 中增加了对池化/非池化直接连接的支持。现在,为了使其更清晰易用,我们简化了仪表板中的连接用户流程。现在,当您连接到数据库时,您将获得启用连接池或启用 Prisma Accelerate 进行缓存的新选项。下面,您将获得代码片段,用于立即在您的项目中进行配置。

无服务器驱动
对于那些希望连接到 Prisma Postgres 但部署到 Cloudflare Workers 等环境的用户,我们提供了新版本的无服务器客户端库来支持这些运行时。
查看无服务器驱动程序文档了解更多详情
对加入 Prisma 感兴趣?我们正在成长,并在公司内部为热衷于使用 Prisma 进行开发的开发者提供了多个激动人心的机会。在我们的职业页面上探索我们的开放职位,找到适合您的角色。
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
Prisma ORM 是 TypeScript 生态系统中最受欢迎的 ORM。今天的发布带来了一系列新的错误修复和整体改进。
Prisma Postgres 是我们完全托管的 Postgres 服务,其设计理念与近十年来指导 Prisma 的出色 DX 理念相同。在此版本中,我们引入了以下改进:
使用 Prisma Postgres 进行连接池
我们在 6.17 中增加了对直接连接的支持,使 Prisma Postgres 能够与更广泛的 Postgres 生态系统中的任何工具协同工作。现在,您可以通过在连接字符串后附加查询参数 `pool=true` 来确认该连接支持连接池。
1postgres://555555..../postgres?sslmode=require&pool=true
一个经常被要求的功能是能够在我们的 VS Code 扩展中使用本地 Prisma Postgres 数据库而无需登录。在此版本中,我们很高兴地宣布现在支持此功能!现在您可以在不远程连接到数据库的情况下处理您的项目。

#1924:**`previewFeatures = ""` 建议导致 `[]` 值**
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
使用 6.18.0 创建新项目时,`prisma init` 将自动创建 `prisma.config.ts` 文件。这为新应用程序为 Prisma 7 的未来做好了准备。历史上在 `schema.prisma` 文件中设置的一些字段现在在 `prisma.config.ts` 中可用,我们鼓励人们在版本 7 发布之前迁移到新结构,届时此文件将成为必需文件。
如果您在项目中采用新的 `prisma.config.ts` 设置,版本 6.18.0 带来了直接在配置文件中设置数据源的功能。一旦数据源在您的配置文件中,您的 `schema.prisma` 中设置的任何数据源都将被忽略。要设置数据源,我们还必须包含新的 `engine` 键,我们可以将其设置为 `"classic"`,这对于 Prisma v7 将是必需的。
1import { defineConfig, env } from "prisma/config";2export default defineConfig({3 // The Rust-compiled schema engine4 engine: "classic",5 datasource: {6 url: env('DATABASE_URL'),7 }8});
在您的数据库控制台中,您现在可以查看数据库使用情况和交互的指标。您可以获得以下方面的见解:
此外,您还可以获得有关如何改进查询缓存和获得更好性能的见解。
对加入 Prisma 感兴趣?我们正在成长,并在公司内部为热衷于使用 Prisma 进行开发的开发者提供了多个激动人心的机会。在我们的职业页面上探索我们的开放职位,找到适合您的角色。
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
以前,连接到 Prisma Postgres 的*唯一*方法是使用 Prisma ORM。这种组合很棒,因为它为您提供了连接池、全局缓存和整体出色的 DX。
话虽如此,偏好可能因人而异,一些开发人员更喜欢在其应用程序中使用纯 SQL 或低级查询构建器。从本次发布开始,这些连接到 Prisma Postgres 的方式现在已正式全面可用 (GA),并且可以在您的生产应用程序中使用!
您现在可以使用 Drizzle、Kysely、TypeORM、`psql` 或任何其他 Postgres 兼容库、Atlas 等数据库迁移工具或 DBeaver、Postico 等接口连接到 Prisma Postgres。

Prisma Console 中的仪表板现在为您提供清晰、一目了然的 Prisma Postgres 使用情况视图,以便您可以更快、更明智地做出决策。
以下是新增功能:
Prisma ORM v6.17.0 带来许多错误修复和改进:
1import { PrismaMssql } from '@prisma/adapter-mssql'2import { PrismaClient } from '@prisma/client'34const config = {5 server: 'localhost',6 port: 1433,7 database: 'mydb',8 authentication: {9 type: 'azure-active-directory-default',10 },11 options: {12 encrypt: true,13 },14}1516const adapter = new PrismaMssql(config)17const prisma = new PrismaClient({ adapter })18
我们正在努力开发即将发布的 Prisma v7 版本!如果您好奇,可以在此处了解更多信息并开始为 Prisma ORM 的未来做准备。
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
八个月前,我们发布了 ORM 宣言,首次暗示我们将从 Prisma ORM 中移除基于 Rust 的查询引擎。
我们正在通过将Prisma的核心逻辑从Rust迁移到TypeScript,并重新设计ORM,使其更易于定制和扩展来解决这个问题。
经过大量努力和社区反馈,我们非常高兴地宣布迁移已完成,您现在可以在生产应用程序中使用不带 Rust 引擎的 Prisma ORM。🎉 这是一个 Prisma ORM 历史上的重要里程碑,并带来了许多好处:
……以及整体更好的 DX,因为您不再需要担心生成的 Prisma Client 代码中额外的二进制文件。
在文档中了解如何开始使用您喜欢的数据库。
此版本又实现了一个重要里程碑:新的、灵活且 ESM-first 的 `prisma-client` 生成器也已准备好用于生产。以下是其主要优势的快速概述:
1generator client {2 // Required3 provider = "prisma-client"4 output = "../src/generated/prisma"56 // Optional7 engineType = "client"8 runtime = "nodejs"9 moduleFormat = "esm"10 generatedFileExtension = "ts"11 importFileExtension = "ts"12}
我们正在弃用 `postgresqlExtensions` 预览功能。请注意,这并不意味着您不能再将扩展与 Prisma ORM 一起使用。您可以通过 `customized migration` 和 `--create-only` 标志来手动安装扩展,而不是设置预览功能。
1npx prisma migrate dev --name add-extension --create-only
然后,您可以在新创建的空迁移文件中使用纯 SQL 安装扩展。
1CREATE EXTENSION IF NOT EXISTS "pgcrypto";
运行时性能并不是唯一重要的性能类别。事实上,当涉及到我们 Prisma 团队非常重视的 DX(开发者体验)时,*类型检查性能*同样重要:如果您的 TypeScript 类型变得过于复杂,并且编译器需要做太多工作(例如推断类型),它可能会减慢您的编辑器,导致自动补全滞后或阻止跳转定义功能。
我们与 TypeScript 专家 David Blass 合作,寻找提高 Prisma ORM 类型检查性能的方法,并创建了 基准测试,比较了与 Drizzle 的类型检查性能。
在 Prisma Console 中,您现在可以管理您已授权代表您在 Prisma Console 帐户中执行操作的所有第三方应用程序。在侧边导航栏中找到 🧩 **集成**选项卡,查看当前哪些应用程序具有访问权限。
如果您正在创建 OAuth 应用程序以向自己的用户提供 Prisma Postgres,请考虑成为官方合作伙伴!作为合作伙伴,您将有资格获得专门的合作伙伴计划,为您提供特别定价优惠以支持您的发展!
在此版本中,无 Rust Prisma ORM(查询编译器)现在可以与 Prisma Postgres 和 Prisma Accelerate 一起使用。这意味着您可以在使用新的基于 TypeScript 的 ORM 架构时利用连接池和缓存。
在此版本中,无 Rust Prisma ORM(查询编译器)现在可以与 Prisma Postgres 和 Prisma Accelerate 一起使用。这意味着您可以在使用新的基于 TypeScript 的 ORM 架构时利用连接池和缓存。
要启用它,请更新您的 Prisma schema。
1generator client {2 provider = "prisma-client"3 output = "../src/generated/prisma"4 engineType = "client"5}
我们非常希望您能试用此功能并分享您的反馈,以便我们为全面上市做准备。如果您遇到任何问题或有任何建议,请在 GitHub 上提交问题。
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
Prisma ORM 现在包含内置的安全检查,可在 AI 编码助手触发破坏性命令时提供保护。CLI 可以识别何时由流行的 AI 代理(如 Claude Code、Gemini CLI、Qwen Code、Cursor、Aider 和 Replit)执行。
如果尝试执行 `prisma migrate reset --force` 等命令,Prisma ORM 将在继续之前提示明确确认。

此功能确保不会由 AI 工具自动执行删除和重新创建数据库的不可逆操作。Prisma ORM 是第一个提供此级别保护的 ORM,使在使用 AI 辅助开发时与数据库一起使用更安全。
我们通过使 Prisma Client 的运行时选项更一致且更易于理解,从而简化了 Prisma ORM。以前存在一些重叠的别名,这造成了混淆。在此版本中,我们简化了输入,同时保持对您可能正在定位的所有主要环境的支持。
更改包括:
目前支持的运行时列表为:
`nodejs`、`deno`、`bun`、`workerd`(别名 `cloudflare`)、`vercel-edge`(别名 `edge-light`)和 `react-native`。
Prisma Postgres 管理 API 允许您以编程方式配置和管理 Prisma Postgres 实例。它是您在 CI/CD 工作流中启动数据库的完美方式,如果您对此用例感兴趣,请查看我们的 GitHub Action 示例,了解创建和删除操作。
我们很高兴地宣布管理 API 现已完全投入生产。随着它进入全面可用阶段,我们还添加了另一项功能,您现在可以创建没有默认数据库的新项目。
我们期待看到您将用它构建什么!
Prisma VS Code 扩展的数据库 UI 之前需要登录 Prisma Console。我们现在已经取消了此限制,以便您可以在没有进一步摩擦的情况下管理本地 Prisma Postgres 实例。
Prisma Postgres 现在可以直接在您的 Pipedream 工作流中使用 🎉
通过此集成,您可以将 Prisma Postgres 连接到 Pipedream 上支持的 2,800 多个应用程序,从而实现强大的自动化和数据工作流。例如,您可以:
这使得在自动化管道中使用 Prisma Postgres 比以往任何时候都更容易,而无需管理自定义脚本或基础设施。
直接连接使您可以使用任何 ORM 库或您选择的工具(例如 Drizzle ORM、Kysely,以及 Postico 或 TablePlus 等数据库 GUI)连接到您的数据库。
在此版本中,我们改进了直接 TCP 连接的健壮性,并即将将其全面可用。
`npx create-db` 命令允许您启动一个临时的、可用于生产的 Prisma Postgres 数据库,您可以在以后声明它以继续使用。在此版本中,您现在可以添加 `--json` 标志,以 JSON 格式返回数据库详细信息。

这使得以编程方式使用连接详细信息变得简单,无论您是构建自定义 API 还是将数据库配置集成到您的工作流中。
数以千计的团队使用 Prisma,其中许多已经利用我们的企业与代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。
通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
上一个版本,我们改进了 Prisma schema 中定义的 SQL 视图的稳健性。视图是*虚拟*表,不允许在底层数据库中定义外键。
然而,作为应用程序开发人员,在它们之间定义关系也很方便。我们收到了许多使用 Prisma ORM 以这种方式使用视图的人的反馈,因此在此版本中,我们重新引入了视图的 `@unique` 属性。此属性支持:
我们最近发布了一个用于以编程方式管理 Prisma Postgres 实例的 API,非常适合 CI/CD 工作流和脚本编写。
在此版本中,我们使其更加健壮,并使其更接近全面可用版本。
如果您使用 OAuth 授权第三方应用程序代表您在 Prisma Console 中执行操作,您现在可以随时撤销任何应用程序的访问权限。Prisma Console 会显示您已授权(已连接)的应用程序列表,您可以轻松删除一个以立即阻止进一步访问。
MasterBoard 是一家为液压维修店开发软件的初创公司,它从 AWS 转向 Prisma Postgres,以简化其 CI/CD 工作流程。此举减少了基础设施开销,简化了测试和部署,并为开发人员和测试人员提供了更快、更轻松的工作流程。
`prisma.config.ts` 文件是 Prisma ORM 为您的项目提供配置选项的本机方式。Prisma 配置文件现在允许您:
这是一个 Prisma 配置文件示例,它指定了各种项目资产的自定义位置和 `db` 目录中的种子脚本。
1import path from "node:path";2import { defineConfig } from "prisma/config";34export default defineConfig({5 schema: path.join("db", "schema.prisma"),6 migrations: {7 path: path.join("db", "migrations"),8 seed: "tsx db/seed.ts"9 },10});
📚 在文档中了解更多。
PostgreSQL 或 SQL Server 等数据库提供了一种在专用命名空间(称为*schemas*)中逻辑组织表的方式。在 Prisma ORM 中,您可以通过 `@@schema` 属性将表分配给各种 schemas。
1datasource db {2 provider = "postgresql"3 url = env("DATABASE_URL")4 schemas = ["base", "shop"]5}67model User {8 id Int @id9 orders Order[]1011 @@schema("base")12}1314model Order {15 id Int @id16 user User @relation(fields: [userId], references: [id])17 userId Int1819 @@schema("shop")20}21
📚 在文档中了解更多。
有时,您可能不希望 Prisma ORM 管理某些表,因为它们由另一个团队或外部服务处理。
在此版本中,您可以将表标记为**外部管理**,它们将:
您现在可以在 `prisma.config.ts` 中使用 `tables` 选项来指定 Prisma Migrate 应该忽略哪些表。
1// prisma.config.ts2 export default defineConfig({3 tables: {4 external: [5 "users",6 ]7 },8 ...9})10
一个典型的用例是 Supabase 中的 `users` 表,您永远不希望它被 Prisma Migrate 更改,但可能仍希望使用 Prisma Client 进行查询。
📚 在文档中了解更多。
SQL 视图是虚拟表,显示存储查询的结果而不存储数据本身。我们通过删除不兼容的属性(`@id`、`@index`、`@unique`)并关闭不适用于本机 SQL 视图的功能(例如 `findUnique`、游标分页、写入、隐式排序和关系)来增强 Prisma ORM 对 SQL 视图的支持。
这些更新使 Prisma ORM 的 API 与 SQL 视图的实际工作方式保持一致,为您提供更安全、更可预测的体验。
📚 在文档中了解更多。
它能够在 Postgres 数据库中高效存储和查询高维向量嵌入,因此非常适合构建 AI 驱动的应用程序。`pgvector` 基本上允许开发人员使用标准 SQL 执行相似性搜索(例如,用于推荐系统或语义搜索),从而无需单独的向量数据库。
Prisma ORM 中对 `pgvector` 的原生支持即将推出,在此之前,您可以通过自定义迁移和TypedSQL使用 `pgvector`。
📚 在文档中了解更多。
需要在 CI/CD 中配置 Prisma Postgres 实例、将新数据库附加到预览分支,或向您的用户提供 Prisma Postgres?新的管理 API 使这一切变得简单。
通过熟悉的 REST 接口,您可以以编程方式在 Prisma Console 中配置或删除实例、创建或检索连接字符串以及管理整个项目。
📚 在文档中了解更多。
我们发布了两个基于管理 API 构建的 GitHub Actions,以简化 Prisma Postgres 在您的 CI/CD 工作流中的集成:
这些 Actions 作为将 Prisma Postgres 集成到 CI/CD 管道的基础构建块。

这些 Actions 使在拉取请求上配置数据库、针对真实实例运行集成测试以及管理数据库生命周期变得容易。README 包含示例,可帮助您快速入门,只需最少的设置。
我们发布了一个新的 CLI 命令,允许您立即启动一个新数据库:
1npx create-db # no auth required
该命令不需要身份验证,因此您可以轻松地玩转您的数据库,没有任何初始障碍!

您的实例将在 24 小时后自动删除,但如果您想在此之后继续使用它,您可以将其声明并放入您的 Prisma Console 帐户中。在文档中了解更多信息。
Prisma Console 进行了一些改版,包括用于导航和管理您的项目及其数据库的新设计。这使得创建新项目、在项目和数据库之间导航以及访问项目设置等常见工作流更加顺畅。

我们渴望听到您的反馈,在 X 上告诉我们您对新 UI 的看法。
SiteGPT 帮助企业创建基于自身内容、网站、文档或内部数据训练的 AI 驱动聊天机器人。这些聊天机器人作为客户支持的第一线,以上下文准确性处理请求。
阅读客户案例,了解他们为何选择 Prisma Postgres 作为其数据库。
我们将 Prisma ORM 内部从 Rust 迁移到 TypeScript 的工作现在已在所有一流数据库中进行预览!在本文中,我们将分享我们在最新基准测试中观察到的性能改进,并展望 Prisma v7,届时 ORM 将默认“无 Rust”。
查看文章以探索基准测试并了解下一步。
数千个团队使用 Prisma,其中许多已经利用我们的企业和代理支持计划,获得从 Schema 集成和性能调优到安全和合规性等各个方面的实际帮助。通过此计划,您还可以获得优先问题分类和错误修复、专家可扩展性建议和定制培训,以便您的 Prisma 驱动的应用程序在任何规模下都能保持坚如磐石。了解更多或加入:https://prisma.org.cn/enterprise。
我们很高兴地宣布,我们新的、更灵活的 `prisma-client` 生成器正在进入预览阶段!提醒一下,它看起来像这样:
1generator client {2 // Required3 provider = "prisma-client" // no `-js` at the end!4 output = "../src/generated/prisma"56 // Optional7 runtime = "nodejs"8 moduleFormat = "esm"9 generatedFileExtension = "ts"10 importFileExtension = "ts"11}12
这个新生成器消除了您可能因将代码神奇地生成到 `node_modules` 中而遇到的任何麻烦,并让您完全控制生成的 Prisma Client 代码。随着它进入预览阶段,我们希望更多人能尝试并与我们分享您的反馈!
**注意**:`prisma-client` 生成器将成为 Prisma v7 中的默认生成器,取代当前的 `prisma-client-js` 生成器。
除了将其移至预览阶段之外,我们还创建了一些新的即用型示例,以帮助您开始使用新生成器和您喜欢的框架:
随着我们越来越接近 `prisma.config.ts` 的全面可用 (GA) 版本,我们正在为其添加更多功能。在以前的版本中,Prisma CLI 隐式地根据 Prisma Schema 的位置推断迁移、SQL 视图定义和 TypedSQL 查询文件的位置。在此版本中,我们添加了三个新字段(`migrations`、`views` 和 `typedSql`),为您提供更大的灵活性和清晰度,说明 Prisma CLI 应该如何定位这些文件。
1// prisma.config.ts2export default defineConfig({3 earlyAccess: true,4 migrations: {5 path: './db/migrations'6 },7 views: {8 path: './db/views'9 },10 typedSql: {11 path: './db/queries'12 }13 // ...14})15
Co.dev (YC W23) 让非开发者能够在几分钟内构建生产就绪的全栈应用程序,它结合了 AI 驱动的代码生成和集成工具,由 Prisma Postgres 和 MCP 服务器集成提供支持。
您知道我们每周都会在 YouTube 频道上发布多部包含更新、演示、技巧和窍门的新视频吗?务必查看,不要错过 Prisma 生态系统中发生的任何事情!
如果您正在使用 Prisma Postgres(自己使用或提供给您自己的用户),您现在可以通过 `@prisma/studio-core` npm 包嵌入 Prisma Studio,以提供出色的数据编辑体验。

查看演示站点,了解 Studio 如何与 Vite 和 Hono 集成到 React 应用程序中。
我们刚刚发布了 Prisma ORM v6.11.0,并很高兴将“无 Rust 版本的 Prisma ORM”推广到我们剩余的一流数据库:MySQL/MariaDB、Neon 和 CockroachDB 的预览阶段。
如果您想尝试此功能,您可以像这样配置您的 `generator`:
1generator client {2 provider = "prisma-client-js" // or `prisma-client`3 previewFeatures = ["queryCompiler", "driverAdapters"]4 output = "../generated/prisma"5}
不再需要处理查询引擎、二进制目标,并在无服务器和边缘环境中获得更流畅的体验!在文档中了解如何将此版本的 Prisma ORM 与您喜欢的数据库一起使用。
我们持续在全球范围内扩展 Prisma Postgres 的可用性!继几周前新增旧金山之后,我们现在根据在 X 上进行的另一项民意调查,新增了法兰克福。以下是您今天可以启动 Prisma Postgres 实例的所有区域:
关注我们的 X 帐户,参与投票并选择 Prisma Postgres 的下一个可用区!
我们最近启用了通过直接连接使用任何工具连接到 Prisma Postgres 的选项。在此版本中,我们降低了连接延迟,因此您的第一个请求现在更快。
Prisma Postgres 的定价模型简单得令人难以置信:您根据*操作*收费,而不是 CPU、计算小时或任何其他基于资源的指标。

虽然它很简单,但它可能让人觉得不熟悉,因为它与现有定价模型截然不同。要了解运行您的应用程序的 Prisma Postgres 将花费多少,您现在可以使用我们的定价计算器。输入预测的存储和操作数量,即可查看每个计划的费用。
您可以使用 `prisma dev --name mydb` 命令或通过 Prisma VS Code 扩展 UI 启动*本地* Prisma Postgres 实例。如果您通过 Prisma CLI 启动本地实例,您可以简单地杀死该进程来停止实例。但是,当您通过 VS Code 扩展 UI 启动实例时,您也只能通过 UI 停止它们——不能通过 CLI。
此版本改变了这一点:您现在还可以通过 Prisma CLI *停止*本地 Prisma Postgres 实例并将其从文件系统中*删除*:
在文档中了解有关这些新命令的更多信息。
在 vercel.com/templates 上,您可以找到大量一键部署的应用程序模板!我们与 Vercel 团队合作,使 Prisma Postgres 与*所有*需要 PostgreSQL 数据库的模板兼容,例如:
本文是我们的高级软件工程师 Tyler Benfield 撰写的一篇关于低层 Postgres 的技术深入探讨。它揭示了我们如何将 25 年前的 PostgreSQL 协议现代化,并构建了一个针对无服务器部署、多区域应用程序和现代网络架构进行优化的数据库。
了解快速增长的功能管理平台 Bucket 如何使用 Prisma ORM 简化复杂的关联查询并加速功能发布。了解其精益团队如何更快地交付高质量功能,同时轻松管理不断变化的数据库需求。
我们新的 `prisma-client` 生成器更加灵活,对生成的代码提供了更多控制,适用于各种 JS 运行时,并开箱即用支持 ESM。
为了让您更容易试用,我们创建了一些即用型示例项目,以便您可以在实际操作中看到新生成器:
我们正在从 Prisma ORM 中移除 Rust 引擎。如果您想尝试此功能,您可以这样配置您的 `generator`:
1generator client {2 provider = "prisma-client-js" // or `prisma-client`3 output = "../generated/prisma"4 previewFeatures = ["queryCompiler", "driverAdapters"]5}
在此版本中,我们很高兴地将 `queryCompiler`(它使 Prisma ORM 能够在没有 Rust 引擎的情况下使用)推广到 MS SQL Server 和 PlanetScale(通过新的 `@prisma/adapter-mssql` 和现有的 `@prisma/adapter-planetscale` 驱动程序适配器)的预览阶段。
我们最近发布了一个数据库管理 UI,作为 Prisma VS Code 扩展的一部分,以实现 Prisma Postgres 的可视化数据库管理工作流。在此版本中,我们为其添加了新功能:您现在可以通过相同的 UI 管理多个*本地* Prisma Postgres 实例。

要尝试此功能,请在 VS Code 的侧边栏中找到 Prisma 徽标,然后开始管理您的本地 Prisma Postgres 实例(无需 Docker)。
本地 Prisma Postgres 实例非常适合开发,但是当您准备部署时,如何从*本地*转向*远程*呢?

VS Code 中的数据库管理 UI 现在有一个“**推送到云端**”按钮,可以轻松部署您的本地 Prisma Postgres,以便您可以从部署的应用程序连接到它。
分片是一种在数据库负载增长时进行扩展的流行技术。从本版本开始,Prisma ORM 通过 Prisma Schema 中的新 `@shardKey` 和 `@@shardKey` 属性原生支持 PlanetScale 上的分片,您可以将这些属性应用于模型中应作为数据库设置中分片键的字段。
1// Single-column shard key2model User {3 id String @default(uuid())4 region String @shardKey5}67// Multi-column shard key8model User {9 id String @default(uuid())10 country String11 customerId String12 @@shardKey([country, customerId])13}
请注意,这要求您在生成器定义上设置 `shardKeys` 预览功能标志:`previewFeatures = ["shardKeys"]`。
我们最近发布了用于*远程* Prisma Postgres 的直接连接,以便您现在可以将其与您喜欢的 ORM 或数据库工具一起使用。从本版本开始,这对于您的*本地* Prisma Postgres 实例也成为可能。要尝试此功能,请运行 `prisma dev` 命令并使用以 `postgres://` 开头的直接连接字符串,以便从任何工具进行连接。
我们刚刚发布了一个新的远程 MCP 服务器,可帮助您管理 Prisma Postgres 实例!它使您的 AI 工具能够帮助完成以下工作流:
您可以使用 `npx -y mcp-remote https://mcp.prisma.io/mcp` 命令启动它。
这是 MCP 服务器的实际应用,直接在 Warp AI 终端中创建新数据库:

如果您一直对我们从 Prisma ORM 中移除 Rust 引擎的工作感到兴奋,但由于它处于早期访问 (EA) 阶段而犹豫不决,现在是您体验无 Rust Prisma ORM 版本的绝佳时机。
这项重大的架构更改已从此版本中的 EA 阶段进入预览阶段,这意味着不再存在已知的重大问题。如果您想尝试,请将 `queryCompiler` 和 `driverAdapters` 预览功能标志添加到您的 `generator`,安装数据库的驱动程序适配器,然后开始使用:
1generator client {2 provider = "prisma-client-js"3 previewFeatures = ["queryCompiler", "driverAdapters"]4 output = "../generated/prisma"5}
不再需要处理查询引擎、二进制目标,并在无服务器和边缘环境中获得更流畅的体验!在文档中了解更多信息。
自全面发布以来,您只能使用 Prisma ORM 通过自定义连接字符串与 Prisma Postgres 交互。
现在情况已经改变:当您设置新的 Prisma Postgres 实例时,您将收到一个常规的 PostgreSQL 直接 TCP 连接字符串(以 `postgres://...` 开头),允许您使用您喜欢的工具或数据库库连接到它,包括 Drizzle、Kysely、TypeORM 等。

如果您想从无服务器环境访问 Prisma Postgres,您还可以使用我们的新无服务器驱动程序(早期访问)。在文档中了解更多信息。
Prisma Postgres 的备份和恢复机制最近得到了重大升级:您现在可以通过 Prisma Console 中的 UI 轻松恢复任何以前的备份。

查看数据库时,找到新的“**备份**”选项卡,然后从列表中选择任何备份以将其状态恢复到以前的时间点。在文档中了解更多信息。
如果您正在使用 Prisma ORM,您很可能也在使用我们的VS Code 扩展。在其最新版本中,我们为其添加了一个主要的新功能:一个用于管理数据库的 UI。

通过这个新的 UI,您可以:
要使用新功能,请确保安装了最新版本的 Prisma VS Code 扩展,并在 VS Code 的*活动栏*中寻找新的**Prisma 徽标**。在文档中了解更多信息。
在上一个版本中,我们使您能够通过新的 `prisma dev` 命令在本地启动 Prisma Postgres 实例。本地 Prisma Postgres 在底层使用 PGlite,并为您提供与远程 Prisma Postgres 实例相同的体验。
此版本对此功能进行了重大改进:
尝试一下,并告诉我们您的想法。在文档中了解有关此功能的更多信息。
我们持续在全球范围内扩展 Prisma Postgres 的可用性!继几周前新增新加坡之后,我们现在根据在 X 上进行的另一项民意调查,新增了旧金山。以下是您今天可以启动 Prisma Postgres 实例的所有区域:
关注我们的 X 帐户,参与投票并选择 Prisma Postgres 的下一个可用区!
Prisma Postgres 定价模型的简单性常常让开发人员感到惊讶。在本文中,我们解释了定价如何运作、为什么我们认为它更好以及它如何使月末账单更可预测。
Prisma ORM 历史上将其数据库客户端生成到 `node_modules` 中。本文解释了最初决策的原因、我们此后学到的经验教训以及我们未来将如何改变。
AI 工具变得越来越强大,但它们*真正*的能力是什么?我们对其进行了测试,仅通过提示就构建了一个功能齐全的电商应用程序。如果您对结果好奇,请阅读本文。
在 6.8.0 中,我们发布了一种*本地*开发 Prisma Postgres 的方式——无需 Docker!
要开始,请运行新的 `prisma dev` 命令:
1npx prisma dev # starts a local Prisma Postgres server
此命令会启动一个本地 Prisma Postgres 实例,并打印您需要设置为 `datasource` 块的 `url` 以指向本地 Prisma Postgres 实例的连接 URL。它看起来类似于这样:
1datasource db {2 provider = "postgresql"3 url = "prisma+postgres://:51213/?api_key=ey..."4}
然后,您可以像对任何远程 Prisma Postgres 实例一样,对本地 Prisma Postgres 实例运行迁移并执行查询。
我们已从 `prisma-client-js` 生成器中移除了 `deno` 预览功能。如果您想将 Prisma ORM 与 Deno 一起使用,您现在可以使用新的 `prisma-client` 生成器:
1generator client {2 provider = "prisma-client"3 output = "../src/generated/prisma"4 runtime = "deno"5}
在最新版本的 Prisma VS Code 扩展中,我们为 VS Code 中的代理模式带来了新功能。如果您正在使用 VS Code 并安装了 Prisma VS Code 扩展,您的代理现在能够帮助您完成数据库工作流,例如:
您只需确保使用最新版本的Prisma VS Code 扩展,您的代理即可启动 🚀
我们的新 Prisma for GitHub Copilot 扩展使您能够直接从 Prisma 文档中提问并获得即时答案:
我们最近进行了一项民意调查,询问您希望在 Prisma Postgres 中看到哪个区域。多数票投给了**亚太地区(新加坡)**,因此从今天起,您可以在 `ap-southeast-1` 区域启动新的 Prisma Postgres 实例。
我们不会止步于此,因此请关注 X,以获取另一项民意调查,询问您希望我们添加哪些区域!
在这篇技术深度探讨中,我们概述了 MCP 服务器的构成,并解释了我们如何为 Prisma 构建了一个。文章涵盖了本地和远程 MCP 服务器之间的权衡、`@modelcontextprotocol/sdk` 包以及我们如何使 LLM 能够使用 Prisma CLI。在我们的博客上阅读文章。
数据库的无服务器定价以难以理解和准确预测而闻名。在思考如何解决 Prisma Postgres 的定价难题时,我们希望让事情变得简单。我们基于操作的模型简化了定价,并消除了考虑资源大小或抽象计算时间指标的需要。在我们的博客上阅读文章。
我们很高兴地宣布,Prisma Postgres 现已作为 Vercel Marketplace 集成提供。通过集成,您可以:
使用我们的入门模板试用,并在 X 和 Discord 上告诉我们您的看法!
有时,您的前端应用程序中只需要一段纯数据!对于这些情况,我们现在为 Prisma Postgres 发布了一项新功能,允许您以安全的方式直接从前端与数据库进行通信!
借助 Prisma Postgres 的新*安全规则*功能,您可以直接在 TypeScript 中为数据库定义细粒度访问规则。加入我们的私人早期访问计划,成为首批试用 Prisma Postgres 的开发者之一,并通过您的反馈帮助我们塑造其未来。
Prisma ORM 正在快速改进!在 6.7.0 版本中,我们实现了一个重要的里程碑,并发布了不带 Rust 引擎的 Prisma ORM 的第一个版本。
我们已经广泛撰文说明了我们为何要放弃 Rust,并且已经分享了我们在重写后观察到的首批性能提升测量结果。
这次重写不仅仅是从一种编程语言转向另一种编程语言。它从根本上改进了 Prisma ORM 的架构,用我们称之为*查询编译器*的更精简、更高效的方法取代了查询引擎(它用 Rust 编写并作为独立二进制文件部署)。
要使用新的“无 Rust”版 Prisma ORM,请将 `queryCompiler` (*新*) 和 `driverAdapters` 功能标志添加到您的客户端生成器中:
1generator client {2 provider = "prisma-client-js"3 previewFeatures = ["queryCompiler", "driverAdapters"]4 output = "../generated/prisma"5}
📚 在文档中了解更多信息。
在此版本中,我们引入了一个新的驱动程序适配器,用于使用 `better-sqlite3` 包,因此您现在可以以 JS 原生方式与 SQLite 数据库交互:
1import { PrismaBetterSQLite3 } from '@prisma/adapter-better-sqlite3';2import { PrismaClient } from './generated/prisma';34const adapter = new PrismaBetterSQLite3({5 url: "file:./prisma/dev.db"6});7const prisma = new PrismaClient({ adapter });
📚 在文档中了解更多信息。
`prismaSchemaFolder` 预览功能正在全面发布 🎉 随着这一更改,Prisma ORM 现在默认支持拆分您的 Prisma Schema 文件。
📚 在文档中了解更多信息。
使用 `prisma-client-js` 生成器,生成的 Prisma Client 库被放入单个 `index.d.ts` 文件中。这有时会导致 问题,当 Schema 很大时,生成输出的大小可能会减慢代码编辑器并破坏自动完成。
从本版本开始,我们的新 `prisma-client` 生成器(在 6.6.0 中发布)现在将生成的 Prisma Client 库拆分为多个文件,从而避免了单个大型输出文件的问题。
📚 在文档中了解更多信息。
我们热衷于向您介绍如何在各种项目和上下文中使用数据库!在过去的几周里,我们在博客上发表了几篇文章,如果您热衷于提升作为开发人员的数据库技能,那么您应该查看一下这些文章:
我们最近与我们的 ORM 团队举行了另一次 AMA,讨论了围绕新的 `prisma-client` 生成器、ESM 支持、D1 迁移以及向 TypeScript 迁移的所有新内容,您现在可以在 YouTube 上观看。
Prisma Postgres 是第一个没有冷启动的无服务器数据库。它专为最佳效率和高性能而设计,是与 Cursor、Windsurf、Lovable 或 co.dev 等 AI 工具一起使用的完美数据库。
在 v6.6.0 ORM 版本中,我们添加了一个命令来启动 Prisma MCP 服务器,您可以将其集成到您的 AI 开发环境中。借助该 MCP 服务器,您现在可以:
… 还有更多。
要开始使用,请将此代码片段添加到您喜欢的AI工具的MCP配置中,即可开始
1{2 "mcpServers": {3 "Prisma": {4 "command": "npx",5 "args": ["-y", "prisma", "mcp"]6 }7 }8}
在我们的博客上阅读更多关于MCP服务器的信息:宣布Prisma的MCP服务器:使用Prisma Postgres感受代码
Prisma ORM v6.6.0 包含了令人惊叹的功能
prisma-client生成器(抢先体验)在v6.6.0中,我们引入了一个新的prisma-client生成器,它更灵活,支持ESM,并消除了可能与当前prisma-client-js生成器产生摩擦的任何魔法行为。
注意:prisma-client生成器目前处于抢先体验阶段,在接下来的版本中可能会有一些破坏性变更。以下是主要区别
output路径;不再“魔法”生成到node_modules中moduleFormat字段支持ESM和CommonJS以下是您如何在Prisma schema中使用新的prisma-client生成器的方法
1// prisma/schema.prisma2generator client {3 provider = "prisma-client" // no `-js` at the end4 output = "../src/generated/prisma" // `output` is required5 moduleFormat = "esm" // or `"cjs"` for CommonJS6}
📚 在文档中了解更多。
Cloudflare D1和Turso是流行的数据库提供商,它们都基于SQLite。虽然您可以使用D1或Turso的相应驱动程序适配器查询它们,但Prisma ORM的早期版本无法对这些数据库进行schema更改。
随着v6.6.0版本的发布,我们分享了以下命令的第一个抢先体验版本的原生D1迁移支持
prisma db push:根据您的Prisma schema更新远程数据库的schemaprisma db pull:内省远程数据库的schema并更新您的本地Prisma schemaprisma migrate diff:输出远程数据库schema和您的本地Prisma schema之间的差异📚 在文档中了解更多
npx prisma init --prompt "An encyclopedia for cats"您现在可以将--prompt选项传递给prisma init命令,让它为您搭建一个Prisma schema并部署到新的Prisma Postgres实例中
1npx prisma init --prompt "An encyclopedia for cats"
对于所有关注社交媒体趋势的人,我们还为您创建了一个别名--vibe 😉
1npx prisma init --vibe "Cat meme generator"

我们的ORM团队正在将Rust过渡到TypeScript。我们制定了一个迁移计划,现在有了一个包含基准测试的初始原型!
本季度我们将保持势头,陆续发布对不同数据库的支持。您可以在我们的最新ORM路线图中阅读相关内容。
Prisma ORM 6.5.0已发布,包含两个重要更新!
首先,我们不再支持通过prisma migrate dev命令重置数据库。如果检测到schema漂移,或者迁移无法干净应用,我们将打印错误并建议一个解决方案,例如已有的prisma migrate reset命令。
其次,我们正在扩展新的prisma.config.ts文件的职责,以包含Studio!现在,您将能够运行由现代Prisma ORM功能(如驱动程序适配器)支持的Prisma Studio。查看我们的Prisma配置文档以了解更多信息。
Prisma Postgres,我们托管的PostgreSQL服务,已准备好投入生产!
我们很高兴终于拥有一个数据库产品,特别是Prisma Postgres标准版附带:
欲了解更多信息,请务必查看我们关于Prisma Postgres的博客文章。如果您迫不及待,可以使用prisma init中的新--db标志开始使用

我们也准备好在任何地方看到Prisma Postgres。通过我们的即时Prisma Postgres计划,Prisma Postgres将通过LLM提供,以便您可以即时为您的下一个项目获取数据库。
Prisma ORM 6.4.0已发布,并带来了一些很棒的新功能
prisma.config.ts文件Prisma ORM 6.4.0中,我们以抢先体验的方式引入了Prisma ORM的新配置文件。
如果您想尝试一下,只需像这样创建一个prisma.config.ts文件
1import path from 'node:path'23export default {4 earlyAccess: true, // required while in Early Access56 schema: {7 kind: 'single', // use 'multi' if you're using the `prismaSchemaFolder` preview feature8 filePath: path.join('custom', 'prisma', 'schema.prisma') // key should be 'folderPath' if you're using the `prismaSchemaFolder` preview feature.9 },10}
欲了解更多信息,请查看我们的文档。
Prisma Optimize是我们基于云的工具,用于诊断应用程序中的慢查询或潜在问题。我们最近 overhaul 了入职流程,让您从注册到优化更快!
一如既往,我们团队分享了许多精彩文章。以下是一些亮点
GreatFrontEnd帮助开发人员脱颖而出:GreatFrontEnd帮助未来的前端开发人员在面试中取得成功。了解他们的平台以及Prisma如何为其提供支持!
Prisma Postgres查询的生命周期:Prisma Postgres很 slick,但其内部有很多技术。阅读以了解您的查询如何遍历我们的基础设施。
Prisma Postgres在您最喜欢的环境中:我们的目标是让您的开发生活更轻松。对于Prisma Postgres而言,这意味着确保它与您的开发环境兼容。了解我们如何确保在Netlify、IDX、Vercel等环境中无缝访问Prisma Postgres!
Prisma ORM和Cursor的最佳实践:LLM增强型IDE正在为开发人员生产力创造奇迹。为了在您的Prisma ORM项目中充分利用它们,请查看此便捷指南!
我们发布了新版本的Prisma Studio!此版本与Prisma ORM 6.3.0一起打包,也标志着Prisma Studio在控制台中的凯旋回归。
请务必查看我们的博客文章了解所有详细信息,但这里有一个简短列表
这些更改已适用于连接到Prisma Data Platform的数据库以及使用Prisma ORM 6.3.0的项目。只需使用npx prisma studio!
除了Prisma Studio更新之外,Prisma ORM 6.3.0还附带了一些质量改进修复,应该会让您的体验更上一层楼。
limit受updateMany()和deleteMany()影响的行数generator字段现在确定性排序(不再有随机更改!)NOT IN替换为NOT EXISTS一如既往,查看发布说明了解所有详细信息。
在我们的ORM宣言中,我们指出有一些预览功能在几年内没有更新而变得陈旧。我们很高兴地报告,我们的ORM团队已审查了现有功能及其实现,并在GitHub上提供了如何解决这些问题的计划!
提醒一下,一旦功能进入预览阶段,我们计划在接下来的三个月内停用或推广该功能。
我们正忙于撰写,以确保您的Prisma体验达到最佳状态。以下是我们一直在准备的内容
Prisma ORM 6.2.0可能是一个次要版本,但其中的更改是主要的。在此版本中,我们将omit API(我们最需要的功能)移至全面可用。您现在无需预览功能标志即可使用omit API!
6.2.0还包括其他一些高度请求的功能
json和enum字段updateManyAndReturn支持一如既往,查看发布说明了解所有详细信息。
我们已经在文档中使用了kapa.ai一段时间,并对其赞不绝口!以至于询问AI功能现在已集成到Prisma控制台中。您可以根据您正在查看的内容获得量身定制的答案🤩
我们正在继续改进Prisma Optimize,提供五项新建议,以帮助提升您的数据库性能
CURRENT_TIMESTAMP / LOCALTIMESTAMP / CURRENT_DATE / LOCALTIME 而不是 CURRENT_TIME似乎就在昨天,Prisma Accelerate达到了10亿次查询,但现在我们已经远远超过了这个数字。除了150亿次Prisma Accelerate查询,我们还很高兴看到我们的最新产品Prisma Postgres,创建了1万个数据库。感谢所有在抢先体验期间试用Prisma Postgres的人!
这个冬天天气可能正在变冷,但我们团队的写作热情正在升温!过去三周我们讨论了
prismaSchemaFolder预览功能!还有更多!请务必查看我们的X、Bluesky和YouTube帐户,获取所有最新内容。
您可能已经注意到,在这个页面上,我们现在有一个新的分享功能!在我们的博客和更新日志中,我们有一个简单的分享按钮,用于X、Bluesky、LinkedIn等等!
我们对Prisma ORM 6.1.0感到非常兴奋,因为我们的tracing预览功能现在已经稳定!如果您正在使用tracing功能,需要进行一些更改,请务必查看发布说明以了解所有详细信息。
ORM的另一个重大公告:我们发布了一份宣言,描述了我们对ORM的看法以及我们将如何处理未来的治理。您应该阅读整个文档,但稍微剧透一下:期待季度路线图,一个更精简、更强大的ORM,以及更简单的协作和贡献路径。
继我们宣布Prisma Postgres并将Prisma Postgres移至抢先体验期间免费之后,我们现在拥有Prisma Postgres可用的Prisma Studio!Prisma Studio直接嵌入在Prisma控制台中,允许您在线查看和编辑数据。

Prisma Optimize持续改进,提供两项新建议,帮助提升数据库健康状况
💸 通过避免@db.Money提高效率
⏰ 避免使用@db.timestamp(0)和@db.timestamptz(0),因为存在时间舍入误差。
我们发布了全球Prisma Accelerate查询的实时活动视图!看到世界各地的开发人员使用Prisma Accelerate来扩展他们的项目,真是太棒了。

Prisma团队一直努力在写作和构建方面。
在我们结束本期更新日志(以及2024年!)之际,Prisma团队要感谢我们的社区。除了我们在ORM宣言中重新致力于社区之外,我们还庆祝我们的GitHub仓库获得40,000颗星。我们已经走过了漫长的道路,但这仅仅是Prisma的开始,我们很高兴能与您同行。
Prisma 6已发布,带来了面向未来的改进和增强的性能。我们更新了TypeScript和Node.js的最低支持版本,并通过将fullTextIndex和fullTextSearch功能提升为正式可用,显著改进了全文搜索功能。
我们新的无服务器PostgreSQL数据库Prisma Postgres,在其抢先体验阶段仍然免费!在我们的博客上了解更多。
我们还在收集关于如何从您喜欢的数据库管理工具(如TablePlus或PgAdmin)连接到Prisma Postgres的反馈。请在此处告诉我们您的想法:pris.ly/i-want-tcp。
如果您试用了Prisma Postgres并对如何改进以更好地适应您的用例有建议,请在此处提供您的反馈:pris.ly/ppg-feedback。
在Prisma,我们始终致力于提升您的开发体验。如果您最近使用了Prisma ORM或Prisma的商业产品,我们很乐意听取您的意见!您的见解对于塑造我们工具的未来至关重要。
👉 在这份快速的2分钟调查中分享您的想法。
我们最大的新闻:Prisma现在提供托管的PostgreSQL服务!Prisma Postgres进入抢先体验阶段,是一种按需付费的无服务器Postgres产品,具有竞争力的价格且无冷启动!
我们相信支持Prisma Postgres的技术是数据库产品的发展方向。因此,我们在博客上深入探讨了我们如何让Prisma Postgres付诸实践。

我们正在通过Prisma ORM 5.22.0继续改进Prisma ORM的体验。在此版本中,我们专注于改进tracing预览功能并修复指标和连接池中的恼人bug。
我们偶尔会与他人合作,制作出色的示例,展示使用Prisma可以实现的功能。我们非常高兴能展示最近与trigger.dev的合作,它允许您创建一个功能强大、可扩展的视频处理管道。
我们还从社区中得知,首次查看我们的工具时,可能会对从何开始感到困惑。为了帮助解决这个问题,我们已经开始创建入门项目,展示如何开始使用特定产品。今天我们想重点介绍我们的Optimize入门项目,通过try-prisma获取!

在此版本中,Prisma Optimize带来了两项新建议,帮助您提升数据库操作的性能。探索新见解,充分利用我们的优化引擎,简化您的开发体验。
您知道Prisma符合GDPR、HIPAA、ISO 27001和SOC-2 Type II吗?这是一项艰巨的任务,但我们做到了!现在,我们让跟踪合规性和认证要求变得更容易。您现在可以直接在您的工作区设置中查看详细的合规性文档、认证和审计日志。此功能简化了治理,并帮助您确保您的组织符合安全和数据保护的必要标准。有关我们认证的更多信息,请参阅我们的信任中心:https://trust.prisma.io/

我们的博客刚刚焕然一新!除了全新的外观和感觉,我们还引入了搜索功能,帮助您更快地找到帖子。无论您是寻找产品更新、教程还是社区故事,我们改进的博客体验都让您更容易地保持信息灵通。
查看新登陆页面:https://prisma.org.cn/blog

Prisma ORM 5.21.0带来了一些bug修复和必要的增强,以便我们将tracing预览功能推广到正式版。
我们正在发展!如果您对开发者工具充满热情,并希望为数据库的未来做出贡献,我们希望听到您的声音。Prisma目前正在招聘多个团队,包括工程、开发者推广和产品。访问我们的职业页面了解更多信息,看看是否有适合您技能的职位。
Prisma Optimize现已全面可用,提供AI驱动的工具,用于分析和改进数据库查询性能。它识别有问题的查询,提供可操作的见解,如减少过多行或添加索引,并允许您实时跟踪性能改进。
欲了解更多详情,请阅读公告博客文章。
现在,您可以更长时间地缓存查询结果,并在数据更改时使其失效。这有助于您保持数据新鲜度,同时保持最佳性能。
🔖 查看博客
📄 阅读文档
这项高度请求的功能允许您根据您的定价计划配置查询限制,以处理更长的数据库查询持续时间或检索更大的响应大小。
👉 在我们的文档中探索详细信息
strictUndefinedChecks推出!通过Prisma ORM 5.20.0,预览功能strictUndefinedChecks将不允许任何显式为undefined的值,并会产生运行时错误。此更改是根据此GitHub issue的直接反馈,并遵循我们关于同一问题的最新提案。

如果您想阅读和了解更多信息,请查看我们的最新发布说明!
🤝 我们与Inngest合作,演示了如何使用Prisma Pulse和Inngest一起构建功能强大、可扩展的实时工作流。
数千名开发人员使用Prisma,因为它提供了流行的TypeScript ORM、无缝连接池、高级缓存、实时事件流和富有洞察力的查询优化。
👉 在我们的博客文章中了解我们的产品如何协同工作,实现类型安全、生产力和灵活性
我们很高兴在Prisma ORM中引入TypedSQL,这是一个为您的原始SQL查询带来类型安全的新功能。借助TypedSQL,您可以在.sql文件中编写原始SQL,并在您的Prisma项目中享受类型检查和自动完成的好处。

只需使用prisma generate --sql命令集成这些查询,并使用$queryRawTyped函数执行它们。此更新弥合了原始SQL的灵活性与Prisma的安全性之间的差距,使您的开发过程更顺畅、更可靠。
要了解更多并开始使用TypedSQL,请阅读我们的文档并查看我们最新的博客文章和视频!
我们很高兴推出Prisma Accelerate的自动扩缩功能,旨在根据需求无缝扩展您的应用程序。
借助这项新功能,Prisma Accelerate会自动调整资源,以确保最佳性能,无论您面临突发的流量高峰还是持续增长。这意味着减少手动干预,更多地专注于构建您的应用程序。我们致力于让您的开发体验尽可能顺畅,而自动扩缩是朝着这个方向迈出的一大步。
在我们的博客文章中了解更多关于连接池如何帮助您的应用程序以及设置连接限制的一些最佳实践。
Prisma Pulse现已支持静态IP,通过允许您使用固定IP地址控制对Prisma数据平台的访问来增强安全性。此功能确保只有受信任的网络才能与您的数据交互,为您的应用程序提供额外的保护层。这一切都是为了让您在管理数据时拥有更多的控制权和安心。
Prisma Pulse现在是Neon上Postgres数据库的完全支持集成。立即阅读我们的指南开始使用。
Prisma ORM于2021年投入生产,最近成为npm上下载量最大的数据库库!没有您的鼎力支持,我们不可能取得如此成就💜
查看我们最新的博客文章,回顾我们的旅程并分享Prisma的未来计划。
🎉 您现在可以通过Prisma ORM使用最新版本的UUID,为您的应用程序提供更大的灵活性和面向未来的支持。
为此,我们更新了Prisma Schema中的uuid()函数,使其接受一个可选的整数参数。目前,唯一有效的值是4和7,其中4是默认值。
更多详情请参阅我们的最新发布说明。

🛠 已解决Pulse .stream() API事件丢失问题
我们修复了Pulse .stream() API意外停止接收事件的问题,该问题需要手动断开连接和重新连接。这是由于Pulse后端中的竞争条件造成的,该问题现已查明并纠正。您的事件流现在应该更加可靠且不会中断。
🚀 Pulse设置期间的错误反馈增强
我们改进了您在Pulse设置期间收到的错误消息。以前,某些不支持的数据库配置的用户会遇到通用错误消息。现在,Pulse提供更清晰、更具指导性的反馈,以帮助您更高效地解决这些问题。
🔍 深入了解我们最新的示例应用程序,包括Nuxt.js、SolidStart和SvelteKit,学习如何实现Prisma Accelerate并应用有效的缓存策略来加速数据检索。
性能对Prisma来说是一个重要课题!
📊 这就是为什么我们创建了开源基准测试,它使用托管在AWS RDS、Supabase和Neon上的PostgreSQL数据库比较了Prisma ORM、Drizzle ORM和TypeORM。
阅读更多关于我们的方法论,查看结果摘要,并了解如何确保您的Prisma ORM查询以最佳速度运行。
Prisma Accelerate和Prisma Pulse现已在AWS Marketplace上架!
通过无缝集成和统一计费,简化您的基础设施管理。
在我们的博客文章中了解如何立即开始使用AWS上的Prisma。
我们想知道您在项目中使用Prisma ORM的体验如何!请参加我们2分钟的调查,让我们知道您喜欢什么或我们在哪些方面可以改进🙏
我们更改了queryRaw的响应格式,以减小其平均大小,从而降低序列化CPU开销。以下是改进前后的结果测量。

在查询大型数据集时,我们期望您会看到内存使用量改进和高达2倍的性能提升,如您在图表中清晰可见。我们非常高兴在最新的5.17.0版本中引入这些改进!
在5.17中,我们为我们的VS Code扩展引入了一些生活质量改进,这使得与其交互变得更好!
一些新增功能包括
在我们的最新发布说明中了解更多。
已经在使用Prisma ORM进行构建?探索Prisma Accelerate和Prisma Pulse如何在我们的新文档页面中帮助您开发更快、更具可扩展性、具有用户正在寻找的实时功能的应用程序:超越Prisma ORM。
我们探讨了在构建应用程序时出现的常见问题,以及Accelerate和Pulse如何在Prisma ORM之后将您的应用程序提升到新的水平。
Solin,一个领先的创作者健身市场,通过集成Prisma Accelerate改进了其平台。这个故事强调了Prisma Accelerate如何通过其可扩展的连接池和全球数据库缓存,在性能和可靠性方面为Solin的成功做出了贡献。

查看我们的博客文章,了解更多关于他们的架构以及他们通过Accelerate获得的惊人成果!
由于我们在AWS和Cloudflare上运行,我们收集了它们之间大量的延迟数据。我们认为您会发现这些数据和我们一样有趣,所以我们很高兴分享我们的第一份年度云连接报告!
在此阅读报告,与我们一起深入了解延迟的细节。
在5.13.0中,我们在Prisma Client查询选项中引入了omit选项的预览支持。现在,我们非常高兴地宣布,我们正在扩展omitApi预览功能,以包括全局省略字段的能力。
这是一个如何在实例化Prisma Client时(局部或全局)定义要省略的字段的示例

在我们的最新博客文章中阅读更多信息。
prismaSchemaFolder预览功能变更为了继续改进我们的多文件schema支持,prismaSchemaFolder功能有一些破坏性变更
当在Prisma Schema文件中使用相对路径和prismaSchemaFolder功能时,路径现在相对于它所定义的文件的位置,而不是相对于prisma/schema文件夹。
我们发现,在迁移过程中,许多人会同时拥有prisma/schema和prisma/schema.prisma。我们最初的实现是首先查找.prisma文件,如果存在,则忽略schema文件夹。这现在是一个错误。
有了新的Google身份验证选项,您在登录http://console.prisma.io时有了选择。

敬请期待更多身份验证选项!
Prisma已成功实施SOC2 Type II、HIPAA、GDPR和ISO 27001:2022认证所需的流程和控制。这些成就表明我们致力于为使用数据库的开发人员提供安全可靠的软件解决方案。
在我们的博客文章中阅读更多内容。
简化在Nuxt应用中设置Prisma ORM的过程,并在Nuxt开发工具中探索Prisma Studio。在我们的博客文章中阅读更多信息。
使用Prisma构建了很棒的东西?🌟 使用这些徽章来炫耀吧,它们非常适合您的README或网站。了解更多关于嵌入徽章的信息。

Pulse通过让您对数据库中的更改做出反应,轻松构建事件驱动应用程序。得益于其新的事件持久化功能,所有数据库更改事件现在都保证至少一次且按正确顺序交付!

有兴趣了解更多并亲自尝试Pulse吗?深入阅读我们的博客文章并开始使用!
我们很高兴在Prisma ORM中引入一项新的预览功能:将Prisma Schema组织到多个文件的能力。这项备受请求的功能现已在我们的5.15.0版本中提供!

在我们的最新博客文章中了解其工作原理,并亲自尝试一下。祝您编程愉快!
您是否考虑过使用Prisma和Expo构建React Native应用程序?现在,Prisma ORM为React Native和Expo提供了抢先体验支持,满足了社区的普遍需求!
我们很高兴宣布推出Prisma Insider计划!抢先体验功能,提供宝贵反馈,并在Prisma商业产品的开发中发挥关键作用。
👉 在我们的博客文章中查看详细信息。点击此链接申请,并告诉我们为什么您会非常适合Prisma Insider计划。
连接池对于确保您的数据驱动应用程序能够处理大规模负载而不会出现故障至关重要。我们的博客文章探讨了连接池如何在高峰流量(例如黑色星期五)期间挽救您的电子商务平台。
了解缓存数据库查询如何节省您的时间和复杂性,并使您的应用程序运行更顺畅、更快。
📚 在我们的博客文章中了解缓存的好处、何时使用以及如何轻松地使用Prisma Accelerate进行设置。
有没有想过Prisma ORM在幕后生成了什么样的SQL?想要了解您的应用程序性能并为用户提供更好更快的体验吗?使用Prisma Optimize,您可以做到!

🎥 观看我们的视频演练,以dub.co为例。
阅读发布博客文章,了解如何开始并优化您的应用程序。
createManyAndReturn()在我们的5.14.0版本中,我们提供了一个新的顶级Prisma客户端查询:createManyAndReturn()。它的工作方式与createMany()类似,但使用SQL查询中的RETURNING子句来检索刚刚创建的记录。
这是一个创建多个帖子并立即返回这些帖子的示例。

在我们的发布说明中阅读更多信息
此前,Prisma ORM在使用in操作符或在针对MongoDB数据库的查询中包含相关模型时,存在性能问题。
通过5.14.0,Prisma ORM现在重写查询以使用$or和$eq操作符的组合,从而显著提高了包含in操作符或关系加载的查询的性能。
请参阅我们发布说明中已关闭的公开问题。
想知道Prisma ORM在流行数据库提供商上的表现如何?
我们与Vercel合作,将ORM添加到其开源数据库延迟基准测试中。
在我们的更新文档中探索Pulse的功能和用例,并按照我们的入门指南在几分钟内设置Pulse。
在我们的平台文档中,我们改进了工作区、项目和环境的描述以及我们的计费信息,使管理您的项目和了解您的成本变得更加容易。
了解Prisma产品如何在每个阶段协同工作,以增强您的数据驱动应用程序开发过程。
截至2024年5月1日,我们已从社区Slack过渡到我们的Discord服务器。欢迎加入我们,展示您的项目,获得社区支持,或仅仅与您的开发者同行见面聊天。
Prisma Accelerate引入了静态IP支持,通过可预测的IP实现到数据库的安全连接,从而实现受控访问并最大程度地减少暴露。这允许从Accelerate到需要受信任IP访问的数据库的连接。

在我们的博客文章中了解更多信息,并尝试一下。
omit字段(预览版)我们很高兴宣布在Prisma客户端查询选项中预览支持omit选项。备受请求的omit功能现在允许您根据每次查询排除不想从数据库中检索的字段。
这是一个使用omit的示例

许多用户都要求omit的全局实现。此请求将在未来得到满足。在此期间,您可以在此处关注该问题。
在我们的最新发布说明中阅读更多信息
您熟悉并喜爱的文档,现在使用 Docusaurus 构建!🦖
👉 享受改进的深色/浅色模式、搜索、布局和Kapa AI体验。
访问我们的文档或在https://github.com/prisma/docs查看幕后。
激动人心的消息!5.12.0版本带来了Prisma ORM对Cloudflare D1的预览支持🥳

D1是Cloudflare的原生无服务器数据库,最初于2022年推出。它基于SQLite,可在使用Cloudflare部署应用程序时使用。Cloudflare最近宣布D1全面可用,我们很高兴能增加支持并与他们共同迎接这一新里程碑。
在我们的最新博客文章中阅读更多信息。
createMany()为SQLite提供createMany()支持是一项备受期待和高度请求的功能⭐
createMany()是Prisma客户端的一个方法,早在版本2.16.0中发布,允许您一次性将多条记录插入到数据库中。这在种子数据库或插入批量数据时非常有用。
在我们的最新发布说明中阅读更多信息。
我们改进了订阅管理,以提供更好的用户体验。
以下是一些很棒的新增功能和改进
• 我们增加了对更多支付方式的支持,您现在可以管理您的税务ID
• 您现在可以查看您的发票历史记录并下载过去的付款发票。

• 改进了Prisma Pulse和Railway的入门文档
• 改进了Prisma Accelerate的故障排除指南,以便您可以更轻松地解决可能遇到的常见问题。
• 我们将于4月11日在Epic Web Conference上,如果您在那里,请找到我们!
• 此外,您现在可以在我们全新的WhatsApp频道上关注我们的更新。加入并直接接收更新日志新闻。
我们很高兴宣布Pulse已正式发布!这标志着我们重新定义开发者与数据库事件驱动计算交互方式的旅程中的一个重要里程碑。
Pulse是托管的数据库事件基础设施,它简化了数据库事件驱动计算,使其易于支持实时功能,如聊天、通知、数据广播等。
定价?通过我们基于使用量的定价免费开始,旨在灵活地与您的项目一起扩展。

平台环境是Prisma Data Platform的一项新功能,它允许用户在一个项目中创建不同的设置。这有助于简化应用程序开发过程,从测试到上线。
此外,您现在可以使用Prisma CLI访问Prisma数据平台,使管理您的资源和工作流程变得更加容易(目前处于抢先体验阶段)。
👉 在我们的博客文章中了解更多信息,并进行尝试。
Prisma ORM现在支持边缘函数,允许开发人员使用Prisma ORM从Vercel Edge Functions、Vercel Edge Middleware、Cloudflare Workers和Cloudflare Pages等平台访问他们的数据库。
边缘函数通过减少请求延迟和改善响应时间来提高应用程序性能。
随着Prisma v5.11.0的发布,开发人员现在可以在边缘函数中使用Prisma ORM和他们喜欢的Node.js数据库驱动程序,并且查询引擎的大小已减小以适应有限的运行时环境。
如果您想了解这项激动人心的功能带来的全部好处,请查看我们的博客文章并尝试一下。
👉 通过 Twitter 或 Discord 与我们分享您的反馈
create操作的性能改进通过Prisma ORM,您可以在嵌套查询中创建多个新记录,例如

在以前的版本中,Prisma ORM会将其转换为多个SQL INSERT查询,每个查询都需要自己的数据库往返。从这个版本开始,这些嵌套的create查询经过优化,INSERT查询会在单次往返中批量发送到数据库。
👉 在我们的5.11.0发布说明中阅读更多信息。
在Prisma,我们深切珍视社区中有才华的创作者、教育者和建设者,我们一直希望奖励他们的贡献。
我们很高兴推出Prisma合作伙伴网络,为联盟伙伴、技术伙伴和经销商提供量身定制的机会。
在我们的真实世界采访系列中,我们与使用Prisma开发OSS项目的创始人进行了交流。探索我们最近的聊天
🎥 Umami - 开源的Google Analytics替代品
您是否曾觉得Google Analytics过于臃肿,其UI和工作流程过于复杂?了解Umami如何提供一个简单而强大的替代分析工具。
Steven Tey分享了他离开Vercel到创办公司的旅程。了解Dub.co如何从一个充满激情的项目开始,其技术栈,并深入了解其代码库。