initialize git, basic setup for crm
This commit is contained in:
32
src/config/database.js
Normal file
32
src/config/database.js
Normal file
@@ -0,0 +1,32 @@
|
||||
import { drizzle } from 'drizzle-orm/node-postgres';
|
||||
import pkg from 'pg';
|
||||
const { Pool } = pkg;
|
||||
import * as schema from '../db/schema.js';
|
||||
|
||||
// PostgreSQL connection pool
|
||||
const pool = new Pool({
|
||||
host: process.env.DB_HOST || 'localhost',
|
||||
port: parseInt(process.env.DB_PORT || '5432'),
|
||||
user: process.env.DB_USER || 'admin',
|
||||
password: process.env.DB_PASSWORD || 'heslo123',
|
||||
database: process.env.DB_NAME || 'crm',
|
||||
max: 20, // maximum number of connections in pool
|
||||
idleTimeoutMillis: 30000,
|
||||
connectionTimeoutMillis: 2000,
|
||||
});
|
||||
|
||||
// Test database connection
|
||||
pool.on('connect', () => {
|
||||
console.log('✅ Database connected successfully');
|
||||
});
|
||||
|
||||
pool.on('error', (err) => {
|
||||
console.error('❌ Unexpected database error:', err);
|
||||
process.exit(-1);
|
||||
});
|
||||
|
||||
// Initialize Drizzle ORM with schema
|
||||
export const db = drizzle(pool, { schema });
|
||||
|
||||
// Export pool for direct access if needed
|
||||
export { pool };
|
||||
Reference in New Issue
Block a user