簡介
Prisma Client 是一個自動產生且類型安全的查詢建構器,專為您的資料量身打造。開始使用 Prisma Client 最簡單的方式是按照快速入門。
快速入門 (5 分鐘)
下方的設定指示提供設定 Prisma Client 所需步驟的高階概觀。如果您想開始將 Prisma Client 與您自己的資料庫搭配使用,請按照下列其中一個指南操作
從頭設定新專案
將 Prisma 新增至現有專案
設定
1. 先決條件
為了設定 Prisma Client,您需要一個Prisma schema 檔案,其中包含您的資料庫連線、Prisma Client 產生器,以及至少一個模型
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
email String @unique
name String?
}
另請務必安裝 Prisma CLI
npm install prisma --save-dev
npx prisma
2. 安裝
使用以下命令在您的專案中安裝 Prisma Client
npm install @prisma/client
此命令也會執行 prisma generate
命令,這會將 Prisma Client 產生到 node_modules/.prisma/client
目錄中。
3. 匯入 Prisma Client
有多種方法可以在您的專案中匯入 Prisma Client,具體取決於您的使用案例
- TypeScript
- JavaScript
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
對於邊緣環境,您可以如下匯入 Prisma Client
- TypeScript
- JavaScript
import { PrismaClient } from '@prisma/client/edge'
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
const { PrismaClient } = require('@prisma/client/edge')
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
注意:如果您使用驅動程式介面卡,您可以直接從
@prisma/client
匯入。無需從@prisma/client/edge
匯入。
對於 Deno,您可以如下匯入 Prisma Client
import { PrismaClient } from './generated/client/deno/edge.ts'
const prisma = new PrismaClient()
// use `prisma` in your application to read and write data in your DB
匯入路徑將取決於 Prisma schema 中 Prisma Client 的 generator
區塊中指定的自訂 output
。
4. 使用 Prisma Client 將查詢傳送到您的資料庫
一旦您實例化 PrismaClient
,您就可以開始在您的程式碼中傳送查詢
// run inside `async` function
const newUser = await prisma.user.create({
data: {
name: 'Alice',
email: 'alice@prisma.io',
},
})
const users = await prisma.user.findMany()
所有 Prisma Client 方法都會傳回 PrismaPromise
的實例,該實例僅在您呼叫 await
或 .then()
或 .catch()
時執行。
5. 發展您的應用程式
每當您對資料庫進行變更並反映在 Prisma schema 中時,您都需要手動重新產生 Prisma Client,以更新 node_modules/.prisma/client
目錄中產生的程式碼
prisma generate