improve(db): add read replica

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-01-30 22:23:41 +00:00
parent 033a6acd43
commit 38a93c0b2f
3 changed files with 30 additions and 7 deletions

View File

@@ -1,15 +1,22 @@
import { PrismaClient } from '@prisma/client';
import { readReplicas } from '@prisma/extension-read-replicas';
export * from '@prisma/client';
const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined;
const getPrismaClient = () => {
return new PrismaClient({
log: ['error'],
}).$extends(
readReplicas({
url: process.env.DATABASE_URL_REPLICA ?? process.env.DATABASE_URL!,
}),
);
};
export const db =
globalForPrisma.prisma ??
new PrismaClient({
log: ['error'],
});
const globalForPrisma = globalThis as unknown as {
prisma: ReturnType<typeof getPrismaClient> | undefined;
};
export const db = globalForPrisma.prisma ?? getPrismaClient();
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = db;