import { Pool } from 'pg'; import { drizzle } from 'drizzle-orm/node-postgres'; import * as schema from "@shared/schema"; console.log('🐳 PRODUCTION: Configuring standard PostgreSQL database'); if (!process.env.DATABASE_URL) { throw new Error("DATABASE_URL must be set for production"); } // Log connection details (without password) const dbUrl = new URL(process.env.DATABASE_URL); console.log('🐳 Database connection:', { host: dbUrl.hostname, port: dbUrl.port, database: dbUrl.pathname.slice(1), user: dbUrl.username }); export const pool = new Pool({ connectionString: process.env.DATABASE_URL, ssl: false, // No SSL for local Docker max: 20, idleTimeoutMillis: 30000, connectionTimeoutMillis: 10000, }); export const db = drizzle({ client: pool, schema }); // Test connection pool.on('connect', () => { console.log('✅ PostgreSQL connection established'); }); pool.on('error', (err) => { console.error('❌ PostgreSQL connection error:', err); }); console.log('✅ Production PostgreSQL database configured');