Prisma 客户端接口参考
接口参考基于下面的数据模型
model User {
id Int @id @default(autoincrement())
name String?
email String @unique
profileViews Int @default(0)
role Role @default(USER)
coinflips Boolean[]
posts Post[]
city String
country String
profile ExtendedProfile?
pets Json
}
model ExtendedProfile {
id Int @id @default(autoincrement())
userId Int? @unique
bio String?
User User? @relation(fields: [userId], references: [id])
}
model Post {
id Int @id @default(autoincrement())
title String
published Boolean @default(true)
author User @relation(fields: [authorId], references: [id])
authorId Int
comments Json
views Int @default(0)
likes Int @default(0)
}
enum Role {
USER
ADMIN
}
所有生成的类型比如 UserSelect 和 UserWhereUniqueInput 都是基于 User 模型。
PrismaClient
这部分描述 PrismaClient 的构造方法和参数
datasources
可以覆盖 schema.prisma 中的 datasource 配置。
- 修改后要重新生成 Prisma 客户端。
- 如果在 schema 中重命名了 datasource,替换 db 为你重命名的字段。
通过编码覆盖 url
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient({
datasources: {
db: {
url: "file:./dev_qa.db",
},
},
});
对应
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
log
日志
参数
Option Example Description Array of log levels [ "info", "query" ] Array of log definitions [ { level: "info", emit: "event" }, { level: "warn", emit: "stdout" }]
errorFormat
定义 Prisma 返回错误