18 lines
549 B
TypeScript
18 lines
549 B
TypeScript
import { PrismaClient } from '#shared/generated/prisma/client';
|
|
import { PrismaPg } from '@prisma/adapter-pg';
|
|
|
|
const prismaClientSingleton = () => {
|
|
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL });
|
|
return new PrismaClient({ adapter });
|
|
};
|
|
|
|
declare const globalThis: {
|
|
prismaGlobal: ReturnType<typeof prismaClientSingleton>;
|
|
} & typeof global;
|
|
|
|
const prisma = globalThis.prismaGlobal ?? prismaClientSingleton();
|
|
|
|
export default prisma;
|
|
|
|
if (process.env.NODE_ENV !== 'production') globalThis.prismaGlobal = prisma;
|