La API de pg-promise recomienda un objeto de conexión inicial como:
var pgp = require('pg-promise')(); const mysqlcon = `postgres://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:5432/my_database}` //note that 'my_database' is hardcoded here var db = pgp(mysqlcon); module.exports = db;luego uso este objeto para consultar table_customers en la base de datos my_database :
var db = require('./models/postgres') db.many('SELECT * from table_customers') .then(function (data) { console.log('DATA:', data) }) .catch(function (error) { console.log('ERROR:', error) })Esto funciona perfectamente bien, pero si tuviera que seleccionar otra tabla de otra base de datos, ¿cómo podría modificar dinámicamente el objeto de conexión para cambiar my_database a another_database ?
Las conexiones en PostgreSql están vinculadas a la base de datos, por lo que solo usa dos objetos de la base de datos:
const mySqlCon1 = `postgres://.../database1`; const mySqlCon2 = `postgres://.../database2`; export const db1 = pgp(mySqlCon1); export const db2 = pgp(mySqlCon2);crear variable para cambio dinámico TABLE o DATABASE
var db = require('./models/postgres') db.many('SELECT * FROM ${YOUR_VAR}') .then(function (data) { console.log('DATA:', data) }) .catch(function (error) { console.log('ERROR:', error) })