使用 Prisma 从 PlanetScale 查询数据 - 适用于 Node.js 和 TypeScript 的下一代 ORM。
// Creating a new recordawait prisma.user.create({firstName: “Alice”,email: “alice@prisma.io”})
id firstName email1 Bobby bobby@tables.io2 Nilufar nilu@email.com3 Jürgen jums@dums.edu4 Alice alice@prisma.io
PlanetScale 是与 MySQL 兼容的无服务器数据库,由 Vitess 提供支持,Vitess 是用于 MySQL 水平扩展的数据库集群系统。PlanetScale 将无服务器的许多优势带入数据库世界,包括无限扩展、基于消耗的定价、零停机模式迁移以及慷慨的免费层级。
Prisma 是一个开源 ORM,可与 PlanetScale 无缝集成,并支持完整的开发周期。Prisma 帮助您使用 Prisma 模式声明式地定义数据库模式,并使用 Prisma Client 从 PlanetScale 获取具有完全类型安全性的数据。结合使用,您将获得关系数据库的所有既定优势,以及现代的开发者体验、类型安全查询、零运维和无限扩展。
Prisma 模式 使用 Prisma 的建模语言来定义您的数据库模式。它使数据建模变得简单直观,尤其是在建模关系时。
Prisma 模式的语法深受 GraphQL SDL 的启发。如果您已经熟悉 SDL,那么掌握它来建模数据库表将易如反掌。
1// Define the `User` table in the database2model User {3 id String @id @default(cuid())4 email String @unique5 password String6 name String?7 posts Post[]8}910// Define the `Post` table in the database11model Post {12 id String @id @default(cuid())13 title String14 content String?15 authorId String16 author User @relation(fields: [authorId], references: [id])17}
“PlanetScale 和 Prisma 是无与伦比的组合,带来了卓越的开发者体验和经过验证的可扩展性。”
PlanetScale 提供模式更改工作流程,允许您更新和演变数据库模式,而不会锁定或导致生产数据库停机。
Prisma 的建模语言是声明式的,可让您直观地描述数据库模式。
Prisma Client 确保完全类型安全的数据库查询,并具有诸如自动完成等优点 - 即使在 JavaScript 中也是如此。
避免管理服务器的陷阱,并将您的 Prisma 和 PlanetScale 项目部署到无服务器运行时,以实现零运维和无限可扩展性。
将您的 Prisma 模式映射到数据库,这样您就不需要编写 SQL 来管理数据库模式。
Prisma Client 通过为常见的数据库功能提供便捷的 API 来减少样板代码。
在本视频中,Daniel 将指导您了解将 Prisma 与 PlanetScale 结合使用时需要了解的一切。了解有关引用完整性以及如何在没有外键约束的情况下操作、使用 prisma db push
命令的 Prisma 和 PlanetScale 的迁移工作流程,以及在关系标量(外键字段)上定义索引以获得最佳性能的更多信息。
在 Next.js Conf 的这次演讲中,PlanetScale 团队的 Taylor Barnett 深入探讨了将数据库作为代码实践的想法,您如何将 PlanetScale 与 Prisma 结合使用以声明式方式定义模型,并使用分支在无服务器堆栈中的隔离开发环境中试验数据库。
本文档讨论了使用 Prisma 和 PlanetScale 背后的概念,解释了 PlanetScale 和其他数据库提供商之间的共性和差异,并引导您完成配置应用程序以与 PlanetScale 集成的过程。
如今,Vitess 是 Slack、Roblox、Square、Etsy、GitHub 和更多公司的默认扩展数据库。但它是如何发展到今天的地步的呢?从它在 YouTube 的创建到为无服务器数据库平台 PlanetScale 提供支持的数据库,Taylor 和 Sugu 将深入探讨 Vitess 的创建、为什么选择 MySQL、是什么让 Vitess 如此强大,以及它在哪些方面非常适合构建无服务器应用程序的开发者。
我们有多个渠道供您与社区成员以及 Prisma 团队互动。