import 'dotenv/config';
import { PrismaPg } from '@prisma/adapter-pg';
import { withOptimize } from '@prisma/extension-optimize';
import * as z from 'zod';
import { PrismaClient } from '../generated/prisma/client.js';
const envSchema = z.object({
DATABASE_URL: z.string(),
PRISMA_OPTIMIZE_API_KEY: z.string(),
});
const env = envSchema.parse(process.env);
const globalForPrisma = global as unknown as { prisma: PrismaClient };
const adapter = new PrismaPg({ connectionString: env.DATABASE_URL });
export const prisma =
globalForPrisma.prisma ||
new PrismaClient({ adapter }).$extends(
withOptimize({
apiKey: env.PRISMA_OPTIMIZE_API_KEY,
})
);
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
import 'dotenv/config';
import { PrismaPg } from '@prisma/adapter-pg';
import { withOptimize } from '@prisma/extension-optimize';
import * as z from 'zod';
import { PrismaClient } from '../generated/prisma/client.js';
const envSchema = z.object({
DATABASE_URL: z.string(),
PRISMA_OPTIMIZE_API_KEY: z.string(),
});
const env = envSchema.parse(process.env);
const globalForPrisma = global as unknown as { prisma: PrismaClient };
const adapter = new PrismaPg({ connectionString: env.DATABASE_URL });
export const prisma =
globalForPrisma.prisma ||
new PrismaClient({ adapter }).$extends(
withOptimize({
apiKey: env.PRISMA_OPTIMIZE_API_KEY,
})
);
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;