require('dotenv').config({ path: `.env.${process.env.NODE_ENV || 'development'}` }); const config = { development: { client: 'postgresql', connection: { host: process.env.DB_HOST || 'localhost', port: process.env.DB_PORT || 5432, database: process.env.DB_NAME || 'shattered_void_dev', user: process.env.DB_USER || 'postgres', password: process.env.DB_PASSWORD || 'password', }, pool: { min: parseInt(process.env.DB_POOL_MIN) || 2, max: parseInt(process.env.DB_POOL_MAX) || 10, acquireTimeoutMillis: parseInt(process.env.DB_TIMEOUT) || 60000, }, migrations: { directory: './src/database/migrations', tableName: 'knex_migrations', }, seeds: { directory: './src/database/seeds', }, }, test: { client: 'postgresql', connection: { host: process.env.DB_HOST || 'localhost', port: process.env.DB_PORT || 5432, database: process.env.DB_NAME || 'shattered_void_test', user: process.env.DB_USER || 'postgres', password: process.env.DB_PASSWORD || 'password', }, pool: { min: 1, max: 5, }, migrations: { directory: './src/database/migrations', tableName: 'knex_migrations', }, seeds: { directory: './src/database/seeds', }, }, production: { client: 'postgresql', connection: { host: process.env.DB_HOST, port: process.env.DB_PORT || 5432, database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, ssl: process.env.DB_SSL === 'true' ? { rejectUnauthorized: false } : false, }, pool: { min: parseInt(process.env.DB_POOL_MIN) || 5, max: parseInt(process.env.DB_POOL_MAX) || 20, acquireTimeoutMillis: parseInt(process.env.DB_TIMEOUT) || 60000, }, migrations: { directory: './src/database/migrations', tableName: 'knex_migrations', }, seeds: { directory: './src/database/seeds', }, }, }; module.exports = config;