This commit is contained in:
2026-03-12 20:27:11 -05:00
parent e007d54fb3
commit 13f53badc3
4 changed files with 19 additions and 9 deletions

View File

@@ -17,7 +17,7 @@ COPY . .
# Generate Prisma Client (with SQLite)
ENV DATABASE_URL="file:/app/data/dev.db"
ENV PRISMA_CLIENT_ENGINE_TYPE=binary
ENV PRISMA_CLIENT_ENGINE_TYPE=library
RUN npx prisma generate
# Disable telemetry during build

View File

@@ -1,8 +1,15 @@
/** @type {import("next").NextConfig} */
console.log("Loading next.config.mjs with serverExternalPackages");
const nextConfig = {
output: "standalone",
serverExternalPackages: ["@prisma/client", "prisma"],
webpack: (config, { isServer }) => {
if (isServer) {
// Ensure Prisma is never bundled by webpack
const existingExternals = Array.isArray(config.externals) ? config.externals : [];
config.externals = [...existingExternals, '@prisma/client', 'prisma'];
}
return config;
},
};
export default nextConfig;

View File

@@ -3,7 +3,7 @@
generator client {
provider = "prisma-client-js"
engineType = "binary"
engineType = "library"
}
datasource db {

View File

@@ -4,10 +4,13 @@ const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined
}
export const prisma =
globalForPrisma.prisma ??
new PrismaClient({
function getPrisma(): PrismaClient {
if (!globalForPrisma.prisma) {
globalForPrisma.prisma = new PrismaClient({
log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
})
}
return globalForPrisma.prisma
}
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma
export const prisma = getPrisma()