18 lines
453 B
TypeScript
18 lines
453 B
TypeScript
import { PrismaClient } from '@prisma/client'
|
|
|
|
const prismaClientSingleton = () => {
|
|
return new PrismaClient()
|
|
}
|
|
|
|
type PrismaClientSingleton = ReturnType<typeof prismaClientSingleton>
|
|
|
|
const globalForPrisma = globalThis as unknown as {
|
|
prisma: PrismaClientSingleton | undefined
|
|
}
|
|
|
|
const prisma = globalForPrisma.prisma ?? prismaClientSingleton()
|
|
|
|
export default prisma
|
|
|
|
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma
|