Force initialization to be lazy, preventing docker build errors

This commit is contained in:
NeilClack
2026-02-24 10:34:44 -06:00
parent 10fd06887f
commit 9fed7acff5
+25 -14
View File
@@ -4,19 +4,30 @@ import pg from 'pg';
import { PrismaPg } from '@prisma/adapter-pg'; import { PrismaPg } from '@prisma/adapter-pg';
import { PrismaClient } from '$lib/generated/prisma/client'; import { PrismaClient } from '$lib/generated/prisma/client';
const ca_cert = process.env.DO_CA_CERTIFICATE ?? ''; let _prisma: PrismaClient | undefined;
const pool = new pg.Pool({ function getPrisma(): PrismaClient {
connectionString: process.env.DATABASE_URL, if (!_prisma) {
ssl: ca_cert const ca_cert = process.env.DO_CA_CERTIFICATE ?? '';
? {
rejectUnauthorized: true, const pool = new pg.Pool({
ca: fs.readFileSync(ca_cert).toString() connectionString: process.env.DATABASE_URL,
} ssl: ca_cert
: undefined ? {
rejectUnauthorized: true,
ca: fs.readFileSync(ca_cert).toString()
}
: undefined
});
const adapter = new PrismaPg(pool);
_prisma = new PrismaClient({ adapter });
}
return _prisma;
}
export const prisma = new Proxy({} as PrismaClient, {
get(_, prop) {
return (getPrisma() as Record<string | symbol, unknown>)[prop];
}
}); });
const adapter = new PrismaPg(pool);
const prisma = new PrismaClient({ adapter });
export { prisma };