我试图在我的Nextjs 13应用程序中设置prisma,但当我尝试插入数据时,我得到一个错误:error image
下面是模型代码:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Task {
id Int @id @default(autoincrement())
job_id Int
....Other field....
}
推和生成工作得很好。我使用以下代码导出prisma客户端:
import { PrismaClient } from "@prisma/client";
let prisma;
if (typeof window === "undefined") {
if (process.env.NODE_ENV === "production") {
prisma = new PrismaClient()
} else {
if (!global.prisma) {
global.prisma = new PrismaClient()
}
prisma = global.prisma
}
}
export default prisma
最后,下面是使用客户端的代码:
import prisma from "@/lib/prisma"
export async function InsertData(data) {
await prisma.task.create({
data: data
})
const allTask = await prisma.task.findMany()
return allTask
}
我试着把模型放在小写,但同样的错误。
谢谢
将数据插入数据库
2条答案
按热度按时间raogr8fs1#
为什么要在typeof window =“undefined”条件下添加代码?
试着像这样定义棱镜:
vbkedwbf2#
我终于找到了错误的根源。我使用Nextjs 13(FormData)的实验功能。我必须在函数的开头添加“use server”,它调用我的操作,如文档中所示
很遗憾,错误没有更明确。