19 lines
517 B
TypeScript
19 lines
517 B
TypeScript
import { PrismaClient } from '@prisma/client'
|
|
|
|
// ensures there is only one instance of prisma at any given moment
|
|
|
|
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 |