简介
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
对于 edge 环境,您可以按如下方式导入 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
注意:如果您正在使用driver adapters,您可以直接从
@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