gohorsejobs/seeder-api/src/db.js
Tiago Yamamoto 1c7ef95c1a first commit
2025-12-09 19:04:48 -03:00

43 lines
1.1 KiB
JavaScript

import pg from 'pg';
import dotenv from 'dotenv';
dotenv.config();
const { Pool } = pg;
// Database connection configuration
export const pool = new Pool({
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
});
// Test database connection
export async function testConnection() {
try {
const client = await pool.connect();
console.log('✅ Database connected successfully');
client.release();
return true;
} catch (error) {
console.error('❌ Database connection failed:', error.message);
return false;
}
}
// Execute a query
export async function query(text, params) {
const start = Date.now();
const res = await pool.query(text, params);
const duration = Date.now() - start;
console.log('Executed query', { text, duration, rows: res.rowCount });
return res;
}
// Close the pool
export async function closePool() {
await pool.end();
console.log('Database connection pool closed');
}