import { PrismaClient } from "@prisma/client/edge";
// norm imports
import { withAccelerate } from "@prisma/extension-accelerate";
// refers to this
// https://github.com/prisma/accelerate-nextjs-starter/blob/main/lib/db.ts
//
const prismaClientSingleton = () => {
return new PrismaClient({
log:
// process.env.NODE_ENV === "development"
// ? ["query", "error", "warn"]
// : ["error"],
process.env.NODE_ENV === "development"
? ["error", "warn"]
: ["error"],
// process.env.NODE_ENV === "development" ? ["error"] : ["error"],
}).$extends(withAccelerate());
};
type tPrismaClientSingleton = ReturnType<typeof prismaClientSingleton>;
const globalForPrisma = globalThis as unknown as {
prisma: tPrismaClientSingleton | undefined;
};
export const prisma = globalForPrisma.prisma ?? prismaClientSingleton();
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
import { PrismaClient } from "@prisma/client/edge";
// norm imports
import { withAccelerate } from "@prisma/extension-accelerate";
// refers to this
// https://github.com/prisma/accelerate-nextjs-starter/blob/main/lib/db.ts
//
const prismaClientSingleton = () => {
return new PrismaClient({
log:
// process.env.NODE_ENV === "development"
// ? ["query", "error", "warn"]
// : ["error"],
process.env.NODE_ENV === "development"
? ["error", "warn"]
: ["error"],
// process.env.NODE_ENV === "development" ? ["error"] : ["error"],
}).$extends(withAccelerate());
};
type tPrismaClientSingleton = ReturnType<typeof prismaClientSingleton>;
const globalForPrisma = globalThis as unknown as {
prisma: tPrismaClientSingleton | undefined;
};
export const prisma = globalForPrisma.prisma ?? prismaClientSingleton();
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;