Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

349
Views
Configuración de la aplicación Sails para la conexión a Heroku Postgres mediante variables de entorno

¿Se puede configurar una conexión a la base de datos de sails.js mediante un URI o una URL que incorpore las credenciales (host, usuario, contraseña y base de datos) en una sola cadena? ¿O deben asignarse individualmente como sus propios pares clave-valor en la configuración?

En desarrollo, configuré mi aplicación sails.js para usar variables de entorno para las credenciales de la base de datos, como por ejemplo:

en conexiones.js:

 someSqlDatabase: { host: process.env.dbHost, user: process.env.dbUserName, password: process.env.dbPassword, database: process.env.db, port: 5432, ssl: true, adapter: 'sails-postgresql'

Esto funciona para mi conexión a un recurso heroku-postgresql que asigné a mi proyecto, y puedo configurar manualmente "Config Vars" en mi instancia de heroku, que puedo usar de la misma manera que las variables de entorno en mi local. instancia. Con esto quiero decir que puedo ir a la página del cliente heroku para el recurso de la base de datos, copiar sus credenciales (host, base de datos, usuario y contraseña) en las variables de configuración de la aplicación heroku, individualmente.

El problema es que heroku cambia periódicamente las credenciales y que mis variables de configuración copiadas manualmente quedarán obsoletas y será necesario volver a pegarlas cada vez que esto suceda. Obviamente, esta no es una solución ideal.

Heroku proporciona automáticamente una variable de configuración para el recurso, llamada DATABASE_URL, que se ve así:

 "postgres://<user>:<password>@<host>:<port>/<database>"

que debe actualizarse automáticamente, cuando cambien las credenciales. Mi problema es que no sé cómo configurar una conexión sails.js para usar esta URL, en lugar de los pares clave/valor individuales "host", "usuario", "contraseña" y "base de datos" en el configuración de conexión

Intenté usar una configuración que omite las claves individuales y usa solo "host", como tal:

 someSqlDatabase: { host: process.env.DATABASE_URL, ssl: true, adapter: 'sails-postgresql' }

Pero esta conexión falla. He visto este tipo de cadena llamada URI, y probé la configuración de tiro largo:

 someSqlDatabase: { uri: proccess.env.DATABASE_URL ssl: true, adapter: 'sails-postgresql' }

pero esto también falla. ¿Hay alguna manera de configurar una conexión sails-js con la base de datos postgresql de heroku que usará automáticamente las últimas credenciales? (Estoy usando velas v0.12.3)

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No estoy usando PostgreSQL, pero podrías intentar/adaptar esto:

 // before/outside module.exports var url = require('url').parse(process.env.DATABASE_URL); // within the config someSqlDatabase: { host: url.host, user: url.auth.split(':')[0], password: url.auth.split(':')[1], database: url.pathname.substring(1), port: url.port, ssl: true, adapter: 'sails-postgresql' }

over 4 years ago · Santiago Trujillo Report

0

La siguiente es probablemente la forma correcta de hacer esto:

 module.exports = { ... default: { ssl: true, url: process.env.HEROKU_POSTGRESQL_SILVER_URL, adapter: 'sails-postgresql' }, ... }

dentro de config/env/production.js

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!