diff --git a/src/lib/server/prisma.ts b/src/lib/server/prisma.ts new file mode 100644 index 0000000..a00badd --- /dev/null +++ b/src/lib/server/prisma.ts @@ -0,0 +1,16 @@ +// src/lib/server/prisma.ts +import { PrismaClient } from '@prisma/client'; + +const globalForPrisma = globalThis as unknown as { + prisma: PrismaClient | undefined; +}; + +export const prisma = + globalForPrisma.prisma ?? + new PrismaClient({ + log: ['error', 'warn'], + }); + +if (process.env.NODE_ENV !== 'production') { + globalForPrisma.prisma = prisma; +} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 8a705be..1f01ff3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,10 +3,10 @@ import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()], + ssr: { + noExternal: ['@prisma/client'] + }, optimizeDeps: { exclude: ['@prisma/client'] - }, - ssr: { - noExternal: process.env.NODE_ENV === 'production' ? ['@prisma/client'] : [], } }); \ No newline at end of file