From 95e9dce66395ded3e6d8a5f43f9c3c7ebad8e6f6 Mon Sep 17 00:00:00 2001 From: Gunaseelan P Date: Wed, 9 Sep 2026 19:54:01 +0530 Subject: [PATCH] Safely handle null database pool in local environment --- server.cjs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server.cjs b/server.cjs index a12df23..f70a328 100644 --- a/server.cjs +++ b/server.cjs @@ -11,15 +11,15 @@ app.use(cors()); app.use(express.json({ limit: '10mb' })); // support large payloads for base64 background images // Database connection configuration -const isRenderInternal = process.env.DATABASE_URL && process.env.DATABASE_URL.includes('.render.com') || (process.env.DATABASE_URL && process.env.DATABASE_URL.includes('@dpg-')); -const pool = new Pool({ +const isRenderInternal = process.env.DATABASE_URL && (process.env.DATABASE_URL.includes('.render.com') || process.env.DATABASE_URL.includes('@dpg-')); +const pool = process.env.DATABASE_URL ? new Pool({ connectionString: process.env.DATABASE_URL, ssl: isRenderInternal ? false - : (process.env.DATABASE_URL && process.env.DATABASE_URL.includes('sslmode=require') + : (process.env.DATABASE_URL.includes('sslmode=require') ? { rejectUnauthorized: false } : (process.env.NODE_ENV === 'production' ? { rejectUnauthorized: false } : false)) -}); +}) : null; // Default regions data const DEFAULT_REGIONS = [ @@ -99,6 +99,11 @@ let dbConnected = false; // Initialize Database Tables async function initDb() { + if (!pool) { + dbConnected = false; + console.log("ℹ️ No DATABASE_URL set. Running in local memory mode."); + return; + } let client; try { console.log("Connecting to PostgreSQL database...");