19 lines
704 B
TypeScript
19 lines
704 B
TypeScript
import "dotenv/config";
|
|
import { PrismaMariaDb } from '@prisma/adapter-mariadb';
|
|
import { PrismaClient } from '../generated/prisma/client';
|
|
|
|
const globalForPrisma = global as unknown as { prisma: PrismaClient };
|
|
|
|
// Only create the adapter once
|
|
const adapter = new PrismaMariaDb({
|
|
host: process.env.DATABASE_HOST,
|
|
user: process.env.DATABASE_USER,
|
|
password: process.env.DATABASE_PASSWORD,
|
|
database: process.env.DATABASE_NAME,
|
|
connectionLimit: 5
|
|
});
|
|
|
|
// Use the singleton pattern so Next.js doesn't exhaust your MySQL connections
|
|
export const prisma = globalForPrisma.prisma || new PrismaClient({ adapter });
|
|
|
|
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma; |