Files
plume/src/lib/prisma.ts

25 lines
744 B
TypeScript

import { PrismaClient } from '@prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';
import { Pool } from 'pg';
const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined;
};
/**
* Returns a singleton PrismaClient instance using the Prisma v7 adapter pattern.
* Uses @prisma/adapter-pg with a pg Pool for direct PostgreSQL connections.
*/
export function getDB(): PrismaClient {
if (!globalForPrisma.prisma) {
const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool);
globalForPrisma.prisma = new PrismaClient({ adapter });
}
return globalForPrisma.prisma;
}
export default getDB;