介绍
Prisma 客户端是一个自动生成的类型安全查询构建器,它专门针对您的数据。开始使用 Prisma 客户端的最简单方法是按照 **快速入门**。
快速入门(5 分钟)
设置说明 如下 提供了设置 Prisma 客户端所需步骤的高级概述。如果您想开始使用 Prisma 客户端和您自己的数据库,请按照以下指南之一进行操作
从头开始设置新项目
将 Prisma 添加到现有项目
设置
1. 先决条件
为了设置 Prisma 客户端,您需要一个包含数据库连接、Prisma 客户端生成器和至少一个模型的 Prisma 架构文件
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 客户端
npm install @prisma/client
此命令还会运行 prisma generate
命令,该命令将 Prisma 客户端生成到 node_modules/.prisma/client
目录中。
3. 导入 Prisma 客户端
根据您的用例,有几种方法可以在项目中导入 Prisma 客户端
- 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 客户端
- 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 客户端
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 架构中的 Prisma 客户端 generator
块中指定的自定义 output
。
4. 使用 Prisma 客户端将查询发送到您的数据库
实例化 PrismaClient
后,您就可以开始在代码中发送查询
// run inside `async` function
const newUser = await prisma.user.create({
data: {
name: 'Alice',
email: '[email protected]',
},
})
const users = await prisma.user.findMany()
所有 Prisma 客户端方法都返回 PrismaPromise
的实例,该实例只有在您调用 await
或 .then()
或 .catch()
时才会执行。
5. 发展您的应用
每当您对数据库进行更改并反映在 Prisma 架构中时,您都需要手动重新生成 Prisma 客户端以更新 node_modules/.prisma/client
目录中的生成代码
prisma generate