import { PrismaClient } from '@prisma/client' import dotenv from 'dotenv' // Load .env file if it exists dotenv.config() const globalForPrisma = globalThis as unknown as { prisma: PrismaClient | undefined } // Detect database provider from environment (default to sqlite for local development) const databaseProvider = process.env.DATABASE_PROVIDER || 'sqlite' // Create PrismaClient with appropriate adapter const createPrismaClient = () => { let client: PrismaClient if (databaseProvider === 'postgresql') { // Use PrismaPg adapter for PostgreSQL const { PrismaPg } = require('@prisma/adapter-pg') const pg = require('pg') const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) client = new PrismaClient({ adapter }) } else { // No adapter needed for SQLite client = new PrismaClient() } return client } export const prisma = globalForPrisma.prisma ?? createPrismaClient() if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma