export function createReplicaPrismaClient({
connectionString,
enableLogging = process.env.PRISMA_LOG === "true",
readReplicaUrl = process.env.DATABASE_URL_READ_REPLICA,
}: CreatePrismaClientOptions) {
// Create postgres adapter
const adapter = new PrismaPg({
connectionString,
});
const client = new PrismaClient({
adapter,
log: enableLogging ? ["query", "info", "warn", "error"] : ["error"],
});
// Apply read replica extension if configured
if (readReplicaUrl) {
return client.$extends(readReplicas({ url: readReplicaUrl }));
}
return client.$extends(readReplicas({ url: connectionString }));
}
export function createReplicaPrismaClient({
connectionString,
enableLogging = process.env.PRISMA_LOG === "true",
readReplicaUrl = process.env.DATABASE_URL_READ_REPLICA,
}: CreatePrismaClientOptions) {
// Create postgres adapter
const adapter = new PrismaPg({
connectionString,
});
const client = new PrismaClient({
adapter,
log: enableLogging ? ["query", "info", "warn", "error"] : ["error"],
});
// Apply read replica extension if configured
if (readReplicaUrl) {
return client.$extends(readReplicas({ url: readReplicaUrl }));
}
return client.$extends(readReplicas({ url: connectionString }));
}