import { PrismaPg } from '@prisma/adapter-pg'; import { PrismaClient } from '@/lib/generated/prisma/client'; const connectionString = process.env.DATABASE_URL; if (!connectionString) { throw new Error('DATABASE_URL is not set'); } // Next.js hot-reloads modules in development; without this the dev server // would open a new pool on every edit until Postgres refuses connections. const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient }; export const prisma = globalForPrisma.prisma ?? new PrismaClient({ adapter: new PrismaPg({ connectionString }) }); if (process.env.NODE_ENV !== 'production') { globalForPrisma.prisma = prisma; }