import "server-only"; import { PrismaPg } from "@prisma/adapter-pg"; import { PrismaClient } from "@/generated/prisma/client"; import { getDatabaseUrl } from "@/lib/env"; // Im Entwicklungsmodus wird das Modul bei jedem Hot-Reload neu ausgewertet. // Ohne diesen Cache entstünde pro Reload ein neuer Verbindungspool. const globalForPrisma = globalThis as unknown as { prisma?: ReturnType; }; function createPrismaClient() { return new PrismaClient({ adapter: new PrismaPg({ connectionString: getDatabaseUrl() }), }); } export const prisma = globalForPrisma.prisma ?? createPrismaClient(); if (process.env.NODE_ENV !== "production") { globalForPrisma.prisma = prisma; }