[英]Prisma Issue of managing instances of Prisma Client actively running
我是 Prisma 和 Nodejs 的新手
我不小心創建了許多 Prisma Client 實例,這些實例一直顯示警告
warn(prisma-client) There are already 10 instances of Prisma Client actively running.
即使我嘗試刪除舊文件並創建新的 Prisma,它仍然顯示相同的警告。
我想知道有沒有辦法清除已經在運行的重復實例?
我發現很多 INFO 只是為了防止這種情況發生而不是清除它。
Node js version. : v14.18.2
NPM version. : 6.14.15
prisma : 3.7.0
@prisma/client : 3.7.0
謝謝您的幫助。
所以問題是您可能每次需要使用它時都在創建一個new PrismaClient()
。 理想的情況是實例化一次並僅使用該實例。 在文檔中,他們以這種方式推薦它
如果您在無服務器環境中,您也可以嘗試以下代碼:
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;
問題是您可能正在創建一個new PrismaClient()
您可以使用 singleTon 模式來解決它,(我在這里使用 typescript !)
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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.