const { Pool } = require('pg'); // Test database connection async function testConnection() { const poolConfig = process.env.DATABASE_URL ? { connectionString: process.env.DATABASE_URL } : { host: process.env.DB_HOST, port: process.env.DB_PORT, database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, }; console.log('Database config:', { hasUrl: !!process.env.DATABASE_URL, host: process.env.DB_HOST, port: process.env.DB_PORT, database: process.env.DB_NAME, user: process.env.DB_USER, hasPassword: !!process.env.DB_PASSWORD }); const pool = new Pool({ ...poolConfig, max: 1, idleTimeoutMillis: 5000, connectionTimeoutMillis: 10000, }); try { console.log('Testing database connection...'); const client = await pool.connect(); console.log('✅ Database connection successful!'); const result = await client.query('SELECT NOW() as current_time'); console.log('✅ Query successful:', result.rows[0]); client.release(); await pool.end(); console.log('✅ Connection pool closed successfully'); } catch (error) { console.error('❌ Database connection failed:', error.message); console.error('Error details:', error); process.exit(1); } } testConnection();