Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

346
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda