From fcbd082f6d969fef1be7ca398734ba1560aa4588 Mon Sep 17 00:00:00 2001 From: echo Date: Tue, 24 Feb 2026 18:26:25 +0100 Subject: [PATCH] feat: add detailed database configuration logging - Log whether DATABASE_PASSWORD is set (without revealing value) - Add timeout and debug options - Restore correct nested connection structure for Strapi 5 - Add more diagnostic logging to troubleshoot connection issues --- cms/cms/config/database.ts | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/cms/cms/config/database.ts b/cms/cms/config/database.ts index 78abc7a..681dcc5 100644 --- a/cms/cms/config/database.ts +++ b/cms/cms/config/database.ts @@ -3,30 +3,47 @@ import path from 'path'; export default ({ env }) => { const client = env('DATABASE_CLIENT', 'sqlite'); + console.log('=== DATABASE CONFIGURATION ==='); console.log('DATABASE_CLIENT:', client); console.log('DATABASE_HOST:', env('DATABASE_HOST', 'not-set')); + console.log('DATABASE_PORT:', env('DATABASE_PORT', 'not-set')); console.log('DATABASE_USERNAME:', env('DATABASE_USERNAME', 'not-set')); console.log('DATABASE_NAME:', env('DATABASE_NAME', 'not-set')); + console.log('DATABASE_PASSWORD:', env('DATABASE_PASSWORD') ? '***SET***' : '***NOT SET***'); + console.log('DATABASE_SSL:', env('DATABASE_SSL', 'not-set')); if (client === 'postgres') { - return { + const config = { connection: { client: 'postgres', - host: env('DATABASE_HOST', 'localhost'), - port: env.int('DATABASE_PORT', 5432), - database: env('DATABASE_NAME', 'strapi'), - user: env('DATABASE_USERNAME', 'strapi'), - password: env('DATABASE_PASSWORD', 'strapi'), - ssl: env.bool('DATABASE_SSL', false), - pool: { min: 2, max: 10 }, + connection: { + host: env('DATABASE_HOST', 'localhost'), + port: env.int('DATABASE_PORT', 5432), + database: env('DATABASE_NAME', 'strapi'), + user: env('DATABASE_USERNAME', 'strapi'), + password: env('DATABASE_PASSWORD', 'strapi'), + ssl: env.bool('DATABASE_SSL', false), + }, + pool: { + min: env.int('DATABASE_POOL_MIN', 2), + max: env.int('DATABASE_POOL_MAX', 10), + }, + acquireConnectionTimeout: env.int('DATABASE_TIMEOUT', 60000), + debug: env.bool('DATABASE_DEBUG', false), }, }; + + console.log('Using PostgreSQL configuration'); + return config; } + console.log('Using SQLite configuration'); return { connection: { client: 'sqlite', - filename: path.join(__dirname, '..', '..', env('DATABASE_FILENAME', '.tmp/data.db')), + connection: { + filename: path.join(__dirname, '..', '..', env('DATABASE_FILENAME', '.tmp/data.db')), + }, useNullAsDefault: true, }, };