// @ts-ignore - Generated client import { PrismaClient } from '../prisma/client-generated' const prismaClientSingleton = () => { return new PrismaClient({ datasources: { db: { url: process.env.DATABASE_URL || "file:/Users/sepehr/dev/Keep/keep-notes/prisma/dev.db", }, }, }) } declare const globalThis: { prismaGlobal: ReturnType; } & typeof global; const prisma = globalThis.prismaGlobal ?? prismaClientSingleton() // Enable WAL mode for SQLite to improve concurrent read/write performance if (process.env.DATABASE_URL?.includes('sqlite') || prismaClientSingleton.toString().includes('sqlite')) { // Execute via an un-awaited promise or fire-and-forget, PRAGMA is session-based but setting it globally sets DB state prisma.$executeRawUnsafe('PRAGMA journal_mode = WAL;').catch(console.error) } export { prisma } export default prisma if (process.env.NODE_ENV !== 'production') globalThis.prismaGlobal = prisma