improve(db): add read replica
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user