From 8e0513e07c246a185e7838bd19759036de309ec6 Mon Sep 17 00:00:00 2001 From: janpeter visser Date: Fri, 24 Apr 2026 22:42:45 +0200 Subject: [PATCH] docs: correcties CLAUDE.md en prisma-client patroon - Next.js versie gecorrigeerd naar 16 in CLAUDE.md - prisma-client.md bijgewerkt met werkelijke adapter-implementatie (SQLite + PostgreSQL) Co-Authored-By: Claude Sonnet 4.6 --- docs/patterns/prisma-client.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/docs/patterns/prisma-client.md b/docs/patterns/prisma-client.md index 119bba9..47aab69 100644 --- a/docs/patterns/prisma-client.md +++ b/docs/patterns/prisma-client.md @@ -2,14 +2,37 @@ ## lib/prisma.ts +Detecteert automatisch SQLite (lokaal, `file:`) of PostgreSQL (Neon/Vercel). + ```ts import { PrismaClient } from '@prisma/client' +import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3' +import { Pool } from 'pg' +import { PrismaPg } from '@prisma/adapter-pg' + +function createPrismaClient() { + const url = process.env.DATABASE_URL + if (!url) throw new Error('DATABASE_URL is not set') + + if (url.startsWith('file:')) { + const adapter = new PrismaBetterSqlite3({ url }) + return new PrismaClient({ + adapter, + log: process.env.NODE_ENV === 'development' ? ['error', 'warn'] : ['error'], + }) + } + + const pool = new Pool({ connectionString: url }) + const adapter = new PrismaPg(pool) + return new PrismaClient({ + adapter, + log: process.env.NODE_ENV === 'development' ? ['error', 'warn'] : ['error'], + }) +} const globalForPrisma = globalThis as unknown as { prisma: PrismaClient | undefined } -export const prisma = globalForPrisma.prisma ?? new PrismaClient({ - log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'], -}) +export const prisma = globalForPrisma.prisma ?? createPrismaClient() if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma ```