我对Prisma和Nodejs很陌生
我意外地创建了许多Prisma客户端实例,这些实例不断显示
warn(prisma-client) There are already 10 instances of Prisma Client actively running.
即使我尝试删除旧文件并创建一个新的Prisma,它仍然显示相同的警告。
我想知道有什么方法可以清除已经在运行的重复实例吗?
我发现很多信息只是为了防止情况的发生,而不是清除它。
Node js version. : v14.18.2
NPM version. : 6.14.15
prisma : 3.7.0
@prisma/client : 3.7.0谢谢你的帮助。
发布于 2021-12-29 22:13:37
因此,问题在于,每次需要使用new PrismaClient()时,您可能都在创建它。理想的方法是实例化它一次,并且只使用该实例。在文档中,他们在这个道路中推荐它
如果您是在一个无服务器的env中,您也可以尝试以下代码:
import { PrismaClient } from "@prisma/client";
declare global {
namespace NodeJS {
interface Global {
prisma: PrismaClient;
}
}
}
let prisma: PrismaClient;
if (!global.prisma) {
global.prisma = new PrismaClient({
log: ["info"],
});
}
prisma = global.prisma;
export default prisma;发布于 2022-07-31 18:19:59
问题是您可能正在创建一个new PrismaClient()
您可以使用singleTon模式来解决这个问题,(这里使用的是类型记录!)
import { PrismaClient } from '@prisma/client'
export class Prisma {
public static Prisma :PrismaClient ;
static getPrisma (){
//verify if prisma instance not exist
if (this.Prisma===null || !this.Prisma)
//create new one
this.Prisma=new PrismaClient()
return this.Prisma
}
}https://stackoverflow.com/questions/70458934
复制相似问题