spacce-database-library
Version:
Spacce Database Library for Node Js Application using node-postgres or pg
46 lines (36 loc) • 1.14 kB
JavaScript
require('dotenv').config(); // Import and load dotenv package
const { Pool } = require('pg');
const dbHost = process.env.DB_HOST;
const dbPort = process.env.DB_PORT;
const dbUser = process.env.DB_USER;
const dbPassword = process.env.DB_PASSWORD;
const dbDatabase = process.env.DB_DATABASE;
//const connectionString = `postgres://${dbUser}:${dbPassword}@${dbHost}:${dbPort}/${dbDatabase}`;
class Database {
constructor() {
this.pools = {};
}
connect(schema) {
const pool = new Pool({
// connectionString: process.env.DATABASE_URL,
connectionString : `postgres://${dbUser}:${dbPassword}@${dbHost}:${dbPort}/${dbDatabase}`,
});
this.pools[schema] = pool;
return pool;
}
disconnect(schema) {
const pool = this.pools[schema];
if (pool) {
pool.end();
delete this.pools[schema];
}
}
query(schema, query, params) {
const pool = this.pools[schema];
if (!pool) {
throw new Error(`Connection not found for tenant ID: ${schema}`);
}
return pool.query(query, params);
}
}
module.exports = new Database();