c89010a4f1
Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from f976bd5 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
19 lines
796 B
TypeScript
19 lines
796 B
TypeScript
import { PrismaClient } from "@prisma/client";
|
|
import { PrismaPg } from "@prisma/adapter-pg";
|
|
|
|
const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient };
|
|
|
|
function makeClient() {
|
|
const max = parseInt(process.env.DB_POOL_MAX || "", 10);
|
|
// DB_POOL_MAX=1 is only for the local `prisma dev` embedded server, which can't handle concurrent queries. Never set it in production.
|
|
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL, ...(Number.isFinite(max) && max > 0 ? { max } : {}) });
|
|
return new PrismaClient({
|
|
adapter,
|
|
log: process.env.NODE_ENV === "development" ? ["error", "warn"] : ["error"],
|
|
});
|
|
}
|
|
|
|
export const prisma = globalForPrisma.prisma ?? makeClient();
|
|
|
|
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
|