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
This commit is contained in:
echo 2026-02-24 18:26:25 +01:00
parent 183636bceb
commit fcbd082f6d

View File

@ -3,30 +3,47 @@ import path from 'path';
export default ({ env }) => { export default ({ env }) => {
const client = env('DATABASE_CLIENT', 'sqlite'); const client = env('DATABASE_CLIENT', 'sqlite');
console.log('=== DATABASE CONFIGURATION ===');
console.log('DATABASE_CLIENT:', client); console.log('DATABASE_CLIENT:', client);
console.log('DATABASE_HOST:', env('DATABASE_HOST', 'not-set')); 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_USERNAME:', env('DATABASE_USERNAME', 'not-set'));
console.log('DATABASE_NAME:', env('DATABASE_NAME', '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') { if (client === 'postgres') {
return { const config = {
connection: { connection: {
client: 'postgres', client: 'postgres',
host: env('DATABASE_HOST', 'localhost'), connection: {
port: env.int('DATABASE_PORT', 5432), host: env('DATABASE_HOST', 'localhost'),
database: env('DATABASE_NAME', 'strapi'), port: env.int('DATABASE_PORT', 5432),
user: env('DATABASE_USERNAME', 'strapi'), database: env('DATABASE_NAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'), user: env('DATABASE_USERNAME', 'strapi'),
ssl: env.bool('DATABASE_SSL', false), password: env('DATABASE_PASSWORD', 'strapi'),
pool: { min: 2, max: 10 }, 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 { return {
connection: { connection: {
client: 'sqlite', 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, useNullAsDefault: true,
}, },
}; };