UNPKG

spacce-database-library

Version:

Spacce Database Library for Node Js Application using node-postgres or pg

46 lines (36 loc) 1.14 kB
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();