介绍
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: '[email protected]',
},
})
const users = await prisma.user.findMany()
所有 Prisma Client 方法都返回 PrismaPromise
的实例,该实例仅在你调用 await
或 .then()
或 .catch()
时执行。
5. 演进你的应用程序
每当你对数据库进行更改并在 Prisma schema 中反映出来时,你需要手动重新生成 Prisma Client 以更新 node_modules/.prisma/client
目录中生成的代码
prisma generate