import { Pool } from 'pg'; import { PrismaPg } from '@prisma/adapter-pg'; import { PrismaClient } from '@prisma/client'; const globalForPrisma = globalThis as unknown as { prisma: PrismaClient | undefined; }; function createPrismaClient(): PrismaClient { const connectionString = process.env.DATABASE_URL; if (!connectionString) { throw new Error('[DB] DATABASE_URL environment variable is not set!'); } const pool = new Pool({ connectionString }); const adapter = new PrismaPg(pool); return new PrismaClient({ adapter }); } export const db = globalForPrisma.prisma ?? createPrismaClient(); if (process.env.NODE_ENV !== 'production') { globalForPrisma.prisma = db; }