Prisma 管理主动运行的 Prisma 客户端实例的问题

Kic*_*Axe 4 node.js next.js prisma prisma2

我是 Prisma 和 Nodejs 的新手

我不小心创建了很多 Prisma 客户端实例,这些实例不断显示警告

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
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助。

小智 8

所以问题是你可能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;
Run Code Online (Sandbox Code Playgroud)