Files
euchre_camp/src/lib/prisma.ts
T

35 lines
1.0 KiB
TypeScript

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