型別安全訪問,
搭配
Prisma 與 PlanetScale

使用 Prisma(一個面向 Node.js 和 TypeScript 的下一代 ORM)從 PlanetScale 查詢資料。

tech

Prisma 是什麼?

Prisma 提供資料庫工具,是構建具有出色開發體驗的高效能 Next.js 應用程式的完美伴侶。

ORM

Prisma ORM 是最流行的 TypeScript ORM。它帶有人類可讀的 Schema、自動化遷移以及直觀、完全型別安全的查詢 API。

瞭解更多關於 Prisma ORM

Postgres

Prisma Postgres 是第一個沒有冷啟動的無伺服器資料庫。它基於 unikernels,在裸機上執行,並內建快取、高效能查詢和無縫擴充套件——所有這些都帶來出色的開發體驗。

瞭解更多關於 Prisma Postgres

Prisma 和 PlanetScale 如何協同工作

PlanetScale 是一個相容 MySQL 的無伺服器資料庫,由 Vitess 提供支援,Vitess 是一個用於 MySQL 水平擴充套件的資料庫集群系統。PlanetScale 將無伺服器的諸多優勢帶入資料庫領域,具有無限擴充套件、按用量計費、零停機 Schema 遷移以及慷慨的免費層。

Prisma 是一個開源 ORM,與 PlanetScale 無縫整合並支援完整的開發週期。Prisma 幫助您使用 Prisma Schema 宣告性地定義資料庫 Schema,並使用 Prisma Client 從 PlanetScale 獲取具有完全型別安全的資料。兩者結合使用,您將獲得關係資料庫的所有既有優勢,此外還有現代的開發體驗、型別安全查詢、零運維和無限擴充套件。

Prisma Schema

Prisma Schema 使用 Prisma 的建模語言來定義您的資料庫 Schema。它使資料建模變得簡單直觀,尤其是在建模關係方面。

Prisma Schema 的語法深受 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?

非阻塞 Schema 變更

PlanetScale 提供 Schema 變更工作流,讓您無需鎖定或導致生產資料庫停機即可更新和演進資料庫 Schema。

直觀的資料建模

Prisma 的建模語言是宣告性的,讓您直觀地描述資料庫 Schema。

型別安全的資料庫客戶端

Prisma Client 確保完全型別安全的資料庫查詢,並提供自動補全等優勢——即使在 JavaScript 中也是如此。

為無伺服器而生

避免管理伺服器的陷阱,將您的 Prisma 和 PlanetScale 專案部署到無伺服器執行時,實現零運維和無限可擴充套件性。

輕鬆的資料庫遷移

將您的 Prisma Schema 對映到資料庫,這樣您就不需要編寫 SQL 來管理資料庫 Schema。

過濾、分頁與排序

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.