diff --git a/app/backend/src/db.ts b/app/backend/src/db.ts new file mode 100644 index 0000000..c971af1 --- /dev/null +++ b/app/backend/src/db.ts @@ -0,0 +1,13 @@ +// Prisma client singleton. Use this everywhere — never `new PrismaClient()` in +// route handlers, or you'll exhaust connection slots on hot reload. +import { PrismaClient } from '@prisma/client'; + +const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient }; + +export const prisma = + globalForPrisma.prisma ?? + new PrismaClient({ + log: process.env.NODE_ENV === 'production' ? ['warn', 'error'] : ['query', 'warn', 'error'], + }); + +if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;