我们正在从 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}
请注意,这要求您在 generator 定义中设置 `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}
不再需要为查询引擎、二进制目标而烦恼,在无服务器和边缘环境中体验更流畅! 在文档中了解更多信息。
自其 GA 发布以来,您只能通过自定义连接字符串使用 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 实例的所有区域
us-west-1
:旧金山(新!)us-east-1
:北弗吉尼亚eu-west-3
:巴黎ap-northeast-1
:东京ap-southeast-1
:新加坡请关注我们的 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 实例并打印连接 URL,您需要将其设置为 `datasource` 块的 `url` 以指向本地 Prisma Postgres 实例。它看起来类似于这样
1datasource db {2 provider = "postgresql"3 url = "prisma+postgres://:51213/?api_key=ey..."4}
然后,您可以像对待任何远程实例一样,对此本地 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 扩展,并且您的代理已准备就绪 🚀
我们新的适用于 GitHub Copilot 的 Prisma 扩展使您能够直接从 Prisma 文档中提问并立即获得答案
我们最近进行了一项民意调查,询问您希望 Prisma Postgres 的下一个区域是哪个。多数票投给了亚太地区(新加坡),因此从今天起,您可以在 `ap-southeast-1` 区域启动新的 Prisma Postgres 实例。
我们不会止步于此,请继续关注 X,了解下一轮投票,告诉我们您希望我们添加哪些区域!
在这篇技术深度解析中,我们概述了 MCP 服务器的结构,并解释了我们如何为 Prisma 构建 MCP 服务器。本文涵盖了本地和远程 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 客户端库会放入一个 `index.d.ts` 文件中。这有时会导致大模式问题,其中生成输出的大小可能会减慢代码编辑器并破坏自动完成功能。
截至本版本,我们新的 `prisma-client` 生成器(在6.6.0 版本中发布)现在将生成的 Prisma 客户端库拆分为多个文件,从而避免了单个大型输出文件的问题。
📚 在文档中了解更多信息。
我们乐于向您介绍如何在各种项目和上下文中使用数据库!在过去的几周里,我们在博客上发布了几篇文章,如果您热衷于提升作为开发者的数据库技能,那么您应该阅读一下
我们最近还与 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 包含了许多令人惊叹的功能
在 v6.6.0 版本中,我们引入了一个新的 `prisma-client` 生成器,它更灵活,支持 ESM,并消除了可能与当前 `prisma-client-js` 生成器产生摩擦的任何魔法行为。
注意:`prisma-client` 生成器目前处于抢先体验阶段,在后续版本中可能会有一些破坏性更改。
主要区别如下
以下是如何在您的 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 无法对这些数据库进行模式更改。
在 v6.6.0 版本中,我们分享了原生 D1 迁移支持的第一个抢先体验版本,支持以下命令
prisma db push
:根据您的 Prisma schema 更新远程数据库的模式prisma db pull
:内省远程数据库的模式并更新您的本地 Prisma schemaprisma migrate diff
:输出远程数据库模式与本地 Prisma schema 之间的差异📚 在文档中了解更多信息
npx prisma init --prompt "An encyclopedia for cats"
您现在可以向 `prisma init` 命令传递 `--prompt` 选项,让它为您构建一个 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` 命令重置数据库。如果检测到模式漂移,或者迁移无法干净地应用,我们将打印错误并建议一个解决方法,例如已有的 `prisma migrate reset` 命令。
其次,我们将新的 `prisma.config.ts` 文件的职责扩展到包括 Studio!现在,您将能够运行由驱动适配器等现代 Prisma ORM 功能支持的 Prisma Studio。查阅我们的Prisma Config 文档了解更多信息。
Prisma Postgres,我们托管的 PostgreSQL 服务,已准备好投入生产!
我们非常高兴终于拥有了数据库服务,尤其是 Prisma Postgres 标准配备了
有关更多信息,请务必查看我们关于 Prisma Postgres 的博客文章。如果您迫不及待,可以使用 `prisma init` 中的新 `--db` 标志开始使用
我们也准备好让 Prisma Postgres 遍布各地。通过我们的“即时 Prisma Postgres”计划,Prisma Postgres 将通过 LLM 提供,以便您可以立即为您的下一个项目获取数据库。
Prisma ORM 6.4.0 已发布,并带来了一些很棒的新功能
在 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 数据平台和使用 Prisma ORM 6.3.0 的项目中生效。只需使用 `npx prisma studio`!
除了 Prisma Studio 更新之外,Prisma ORM 6.3.0 还附带了一些生活质量修复,这些修复应该会让您的体验更好。
generator
字段现在按确定性排序(不再随机更改!)一如既往,请查阅发布说明了解所有详细信息。
在我们的 ORM 宣言中,我们指出有一些预览功能多年未更新,已过时。我们很高兴地报告,我们的 ORM 团队已经审查了现有功能及其实现,并在我们的 GitHub 上提供了一份计划,说明将如何处理这些功能!
提醒一下,一旦某个功能进入预览阶段,我们计划在接下来的三个月内将其淘汰或提升为正式功能。
我们正在努力编写,以确保您的 Prisma 体验尽可能好。以下是我们一直在准备的内容
Prisma ORM 6.2.0 可能是一个次要版本,但其中的更改是重大的。在此版本中,我们将 omit API(我们最受欢迎的功能)移至正式可用。您现在无需预览功能标志即可使用 omit API!
6.2.0 还包括一些其他高度请求的功能
一如既往,请查阅发布说明了解所有详细信息。
我们已经在文档中使用了 kapa.ai 一段时间,对其赞不绝口!因此,Ask AI 功能现已集成到 Prisma Console 中。您可以获得针对您和您正在查看的内容量身定制的答案 🤩
我们继续改进 Prisma Optimize,新增了五项建议,以帮助提升您的数据库性能
仿佛就在昨天,Prisma Accelerate 达到了十亿次查询,但现在我们已经远远超越了这个数字。除了 150 亿次 Prisma Accelerate 查询外,我们也很高兴看到我们的最新产品 Prisma Postgres,达到了创建一万个数据库的里程碑。感谢所有在抢先体验期间试用 Prisma Postgres 的用户!
这个冬天天气可能会变冷,但我们团队的创作热情高涨!在过去的三周里,我们谈论了
还有更多内容!请务必查看我们的 X、Bluesky 和 YouTube 账户,获取所有最新内容。
您可能已经注意到,就在这个页面上,我们现在有了一个新的分享功能!在我们的博客和更新日志中,我们为 X、Bluesky、LinkedIn 等平台提供了便捷的分享按钮!
我们对 Prisma ORM 6.1.0 感到非常兴奋,因为我们的 `tracing` 预览功能现已稳定!如果您正在使用 `tracing` 功能,需要进行一些更改,请务必查看发布说明了解所有详细信息。
ORM 的另一个重大宣布:我们发布了一份宣言,阐述了我们对 ORM 的看法以及我们未来将如何处理治理。您应该阅读整个文档,但稍微剧透一下:期待季度路线图,一个更精简、更强大的 ORM,以及更简单的协作和贡献路径。
继我们宣布推出 Prisma Postgres 并将其在抢先体验期间免费提供后,现在Prisma Studio 已可用于 Prisma Postgres!Prisma Studio 直接嵌入在 Prisma Console 中,允许您在线查看和编辑数据。
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` 预览功能,并修复了指标和连接池中烦人的错误。
我们经常有机会与他人合作,制作出色的示例,展示使用 Prisma 时可能实现的功能。我们非常高兴能展示最近与 trigger.dev 的合作,它允许您创建一个功能强大、可扩展的视频处理管道。
我们还从社区那里听到,首次查看我们的工具时,可能会对从何开始感到困惑。为了帮助解决这个问题,我们开始创建入门项目,展示如何开始使用特定产品。今天,我们想重点介绍通过 `try-prisma` 提供的Optimize 入门项目!
在此版本中,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 带来了一些错误修复和必要的增强功能,以便我们将 `tracing` 预览功能提升至正式发布。
我们正在成长!如果您对开发者工具充满热情,并希望为数据库的未来做出贡献,我们很乐意听取您的意见。Prisma 目前正在招聘多个团队,包括工程、开发者关系和产品。访问我们的职业页面,了解更多信息,看看是否有适合您技能的职位。
Prisma Optimize 现已正式发布,提供 AI 驱动的工具来分析和改进数据库查询性能。它能识别有问题的查询,提供可操作的见解,例如减少过多行或添加索引,并允许您实时跟踪性能改进。
有关更多详细信息,请阅读发布公告博客文章。
现在,您可以更长时间地缓存查询结果,并在数据更改时使其失效。这有助于您在保持数据新鲜度的同时,维持峰值性能。
🔖 查看博客
📄 阅读文档
这项备受期待的功能允许您根据定价方案配置查询限制,以处理更长的数据库查询持续时间或检索更大的响应大小。
👉 在我们的文档中探索详细信息
在 Prisma ORM 5.20.0 中,预览功能 `strictUndefinedChecks` 将禁止任何显式 `undefined` 的值,并会引发运行时错误。此更改直接来源于此 GitHub 问题并遵循我们关于同一问题的最新提案。
如果您想阅读和了解更多信息,请查阅我们最新的发布说明!
🤝 我们与 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 Data Platform 的访问来增强安全性。此功能确保只有受信任的网络才能与您的数据交互,为您的应用程序提供额外的保护层。这一切都是为了让您在管理数据时拥有更多的控制权和安心。
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 ORM 中,了解 Prisma Accelerate 和 Prisma Pulse 如何帮助您开发更快、更具扩展性的应用程序,并提供用户所需的实时功能。
我们研究了在构建应用程序时出现的常见问题,以及 Accelerate 和 Pulse 如何在 Prisma ORM 之后将您的应用程序提升到新的水平。
领先的创作者健身市场 Solin 通过集成 Prisma Accelerate 改进了其平台。这个故事强调了 Prisma Accelerate 如何通过其可扩展的连接池和全局数据库缓存,在提升性能和可靠性方面为 Solin 的成功做出贡献。
查看我们的博客文章,了解更多关于他们的架构以及他们使用 Accelerate 获得的惊人成果!
由于我们在 AWS 和 Cloudflare 上运行,我们收集了它们之间大量的延迟数据。我们认为您会像我们一样对这些数据感兴趣,因此我们很高兴分享我们的第一份年度云连接报告!
在此处阅读报告,与我们一起深入了解延迟的所有细节。
在 5.13.0 版本中,我们在 Prisma Client 查询选项中引入了对 `omit` 选项的预览支持。现在,我们非常高兴地宣布,我们将 `omitApi` 预览功能扩展到包括**全局省略字段**的能力。
以下是如何在本地或全局实例化 Prisma Client 时定义要省略的字段的示例
在我们的最新博客文章中阅读更多内容。
为了持续改进我们的多文件模式支持,`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 Dev tools 中探索 Prisma Studio。在我们的博客文章中阅读更多内容。
用 Prisma 构建了一些很棒的东西?🌟 使用这些徽章展示出来,非常适合您的 readme 或网站。了解更多关于嵌入徽章的信息。
Pulse 让您能够响应数据库中的变化,从而轻松构建事件驱动型应用。借助其全新的事件持久化功能,所有数据库更改事件现在都保证能够至少一次且按正确顺序传递!
有兴趣了解更多并亲自试用 Pulse 吗?深入阅读我们的博客文章并开始使用!
我们很高兴在 Prisma ORM 中推出一项新的预览功能:将 Prisma Schema 组织到多个文件的能力。这项备受期待的功能现已在我们的 5.15.0 版本中提供!
在我们最新的博客文章中了解其工作原理,并亲自试用。祝您编程愉快!
您是否考虑过使用 Prisma 和 Expo 构建 React Native 应用?那么,Prisma ORM 现在为 React Native 和 Expo 提供了抢先体验支持,满足了社区的普遍需求!
我们很高兴宣布推出Prisma 内部计划!抢先体验功能,提供宝贵的反馈,并在 Prisma 商业产品的开发中发挥关键作用。
👉 在我们的博客文章中查看详情。点击此链接申请,并告诉我们为什么您非常适合 Prisma 内部计划。
连接池对于确保您的数据驱动型应用能够处理海量负载而不会出现故障至关重要。我们的博客文章探讨了连接池如何在黑色星期五等流量高峰期间拯救您的电商平台。
了解缓存数据库查询如何为您节省时间和降低复杂性,并让您的应用运行更流畅、更快。
📚 在我们的博客文章中了解缓存的优势、何时使用它以及如何轻松地使用 Prisma Accelerate 进行设置。
您是否曾好奇 Prisma ORM 在底层生成了哪些 SQL?想要了解您的应用性能并为用户提供更好、更快的体验吗?使用Prisma Optimize,您可以做到!
🎥 观看我们的视频演练,其中以 dub.co 作为案例研究。
阅读公告博客文章以获取入门和优化您自己应用的说明。
createManyAndReturn()
在我们的 5.14.0 版本中,我们提供了一个新的顶级 Prisma Client 查询:createManyAndReturn()
。它的工作方式类似于 createMany()
,但使用 SQL 查询中的 RETURNING
子句来检索刚刚创建的记录。
这是一个创建多个帖子并立即返回这些帖子的示例。
在我们的发行说明中了解更多
此前,Prisma ORM 在对 MongoDB 数据库使用 in
运算符或在查询中包含相关模型时存在性能问题。
在 5.14.0 版本中,Prisma ORM 现在将查询重写为使用 $or
和 $eq
运算符的组合,从而显著提高了包含 in
运算符或关系加载的查询性能。
在我们的发行说明中查看已解决的公共问题。
好奇 Prisma ORM 在流行的数据库提供商上的表现如何?
我们已与 Vercel 合作,将 ORM 添加到他们的开源数据库延迟基准测试中。
在我们更新的文档中探索 Pulse 的功能和用例,并遵循我们的入门指南在几分钟内设置 Pulse。
在我们的平台文档中,我们改进了 工作区 (Workspaces)、项目 (Projects) 和 环境 (Environments) 的描述以及我们的账单信息,以便更轻松地管理您的项目和了解您的成本。
了解 Prisma 产品如何在每个阶段协同工作,以增强您的数据驱动型应用开发流程。
截至 2024 年 5 月 1 日,我们已从社区 Slack 迁移到我们的 Discord 服务器。在那里加入我们,展示您的项目,获得社区支持,或者只是与您的开发者同行会面和聊天。
Prisma Accelerate 引入了静态 IP 支持,通过可预测的 IP 地址实现到数据库的安全连接,从而实现受控访问并最大程度地减少暴露。这使得 Accelerate 可以连接到需要可信 IP 访问的数据库。
在我们的博客文章中了解更多信息,并亲自试用。
省略
字段(预览版)我们很高兴宣布在 Prisma Client 查询选项中预览支持 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 Client 上的一个方法,早在版本 2.16.0 中发布,它允许您一次性向数据库插入多条记录。这在为数据库播种或插入批量数据时非常有用。
在我们最新的发行说明中了解更多。
我们改进了订阅管理,以提供更好的用户体验。
以下是一些很棒的新增功能和改进:
• 我们增加了对更多支付方式的支持,您现在可以管理您的税号。
• 您现在可以查看您的发票历史记录并下载过去的账单。
在 console.prisma.io 试用。
• 改进了 Prisma Pulse 和 Railway 的入门文档
• 改进了 Prisma Accelerate 的故障排除指南,让您能够更轻松地解决可能遇到的常见问题。
• 我们将于 4 月 11 日参加 Epic Web Conference,如果您也在场,请找到我们!
• 此外,您现在可以在我们全新的 WhatsApp 频道上关注我们的更新。加入即可直接获取更新日志新闻。
我们很高兴地宣布 Pulse 已全面可用!这标志着我们重新定义开发人员如何与数据库事件驱动计算交互的旅程中一个重要的里程碑。
Pulse 是一种托管的数据库事件基础设施,它简化了数据库事件驱动的计算,从而轻松实现实时功能,例如聊天、通知、数据广播等。
定价?通过我们基于使用量的定价方案免费开始,该方案旨在根据您的项目灵活扩展。
平台环境是 Prisma Data Platform 的一项新功能,它允许用户在单个项目中创建不同的设置。这有助于简化应用开发流程,从测试到上线。
此外,现在您可以使用 Prisma CLI 访问 Prisma Data Platform,从而更轻松地管理您的资源和工作流(目前处于抢先体验阶段)。
👉 在我们的博客文章中了解更多,并试用一下。
Prisma ORM 现在支持边缘函数,允许开发者从 Vercel Edge Functions、Vercel Edge Middleware、Cloudflare Workers 和 Cloudflare Pages 等平台使用 Prisma ORM 访问他们的数据库。
边缘函数通过减少请求延迟和缩短响应时间来提高应用性能。
随着 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 开发开源项目的创始人进行了交谈。探索我们最近的访谈:
🎥 Umami - 开源的 Google Analytics 替代品
您是否曾觉得 Google Analytics 过于臃肿,其界面和工作流程过于复杂?了解 Umami 如何提供一个简单而强大的替代分析工具。
Steven Tey 分享了他从离开 Vercel 到创办自己的公司的旅程。了解 Dub.co 如何从一个充满激情的项目开始,其技术栈以及对其代码库的深入探讨。