JavaScript 56.7%
TypeScript 42.6%
1import { PrismaClient } from "@prisma/client";23const globalForPrisma = globalThis as unknown as {4 prisma: PrismaClient | undefined;5 prismaPragmaSet: boolean | undefined;6};78export const prisma = globalForPrisma.prisma ?? new PrismaClient();910// SQLite: WAL est persistant (posé sur le fichier), mais busy_timeout est11// par-connexion → on l'applique une fois au démarrage pour que les écritures12// concurrentes attendent le verrou au lieu d'échouer ("database is locked").13if (!globalForPrisma.prismaPragmaSet) {14 globalForPrisma.prismaPragmaSet = true;15 prisma16 .$executeRawUnsafe("PRAGMA busy_timeout = 5000;")17 .then(() => prisma.$executeRawUnsafe("PRAGMA synchronous = NORMAL;"))18 .catch(() => {19 /* non-SQLite ou indisponible : ignore */20 });21}2223// Toujours mémoriser le client (évite l'épuisement de connexions en dev hot-reload)24globalForPrisma.prisma = prisma;25