类型安全的访问和
通过 Prisma 和
PlanetScale 实现无限扩展

使用 Prisma(用于 Node.js 和 TypeScript 的下一代 ORM)从 PlanetScale 查询数据。

tech

什么是 Prisma?

Prisma 提供了数据库工具,这些工具是使用出色的 DX 构建高性能 Next.js 应用程序的完美伴侣。

ORM

Prisma ORM 是最受欢迎的 TypeScript ORM。它带有一个人类可读的模式、自动化迁移和一个直观的、完全类型安全的查询 API。

了解有关 Prisma ORM 的更多信息

Postgres

Prisma Postgres 是第一个没有冷启动的无服务器数据库。它基于unikernels,在裸机上运行,并带有一个内置缓存、高性能查询和无缝扩展——所有这些都具有出色的 DX。

了解有关 Prisma Postgres 的更多信息

Prisma 和 PlanetScale 如何协同工作

PlanetScale 是一个兼容 MySQL 的无服务器数据库,由 Vitess 提供支持,Vitess 是一个用于 MySQL 水平扩展的数据库集群系统。PlanetScale 将无服务器的诸多优势带入数据库领域,包括无限扩展、按消费量计费、零停机模式迁移和慷慨的免费套餐。

Prisma 是一个开源 ORM,可与 PlanetScale 无缝集成并支持整个开发周期。Prisma 帮助您使用 Prisma 模式声明性地定义数据库模式,并使用 Prisma Client 以完全类型安全的方式从 PlanetScale 获取数据。两者结合使用,您将获得关系型数据库的所有既有优势,此外还有现代化的开发体验、类型安全的查询、零运维和无限扩展。

Prisma Schema

Prisma 模式使用 Prisma 的建模语言来定义您的 数据库模式。它使数据建模变得简单直观,尤其是在建模 关系 时。

Prisma 模式的语法深受 GraphQL SDL 的启发。如果您已经熟悉 SDL,那么学习它来建模数据库表将非常容易。

1// Define the `User` table in the database
2model User {
3 id String @id @default(cuid())
4 email String @unique
5 password String
6 name String?
7 posts Post[]
8}
9
10// Define the `Post` table in the database
11model Post {
12 id String @id @default(cuid())
13 title String
14 content String?
15 authorId String
16 author User @relation(fields: [authorId], references: [id])
17}

“PlanetScale 和 Prisma 是无与伦比的组合,带来卓越的开发体验和经验证的可扩展性。”

Sam Lambert
Sam Lambert -
首席执行官

为什么选择 Prisma 和 PlanetScale?

非阻塞模式更改

PlanetScale 提供了一种模式更改工作流,允许您更新和发展数据库模式,而不会锁定或导致生产数据库停机。

直观的数据建模

Prisma 的建模语言是声明性的,让您能够直观地描述您的数据库模式。

类型安全的数据库客户端

Prisma Client 确保完全类型安全的数据库查询,并具有自动完成等优势 - 即使在 JavaScript 中也是如此。

专为无服务器而构建

避免管理服务器的麻烦,将您的 Prisma 和 PlanetScale 项目部署到无服务器运行时,实现零运维和无限可扩展性。

轻松的数据库迁移

将您的 Prisma 模式映射到数据库,这样您就不需要编写 SQL 来管理您的数据库模式。

筛选、分页和排序

Prisma Client 通过提供方便的 API 来减少样板代码,以实现常见的数据库功能。

course

Prisma 和 PlanetScale 最佳实践

在此视频中,Daniel 将指导您了解在使用 Prisma 和 PlanetScale 时所需的一切。了解更多关于引用完整性以及如何在没有外键约束的情况下操作、使用 prisma db push 命令与 Prisma 和 PlanetScale 进行迁移工作流,以及在关系标量(外键字段)上定义索引以获得最佳性能。

talk

使用 PlanetScale 和 Prisma 将数据库作为代码

在 Next.js Conf 的本次演讲中,PlanetScale 团队的 Taylor Barnett 深入探讨了将数据库作为代码实践的想法,您如何使用 PlanetScale 和 Prisma 以声明性方式定义模型,并使用分支在无服务器堆栈的隔离开发环境中试验数据库。

我们的 Prisma 和 PlanetScale 资源

将 Prisma 与 PlanetScale 结合使用

本文档讨论了使用 Prisma 和 PlanetScale 背后的概念,解释了 PlanetScale 与其他数据库提供商之间的共同点和差异,并引导您完成配置应用程序以与 PlanetScale 集成的过程。

为无服务器扩展数据库:与 Sugu Sougoumarane 聊天

如今,Vitess 是 Slack、Roblox、Square、Etsy、GitHub 等众多公司扩展数据库的默认选择。但它是如何走到这一步的?从 YouTube 的创建到为无服务器数据库平台 PlanetScale 提供支持的数据库,Taylor 和 Sugu 将深入探讨 Vitess 的创建、为什么选择 MySQL、Vitess 的强大之处,以及它如何非常适合构建无服务器应用程序的开发人员。

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