Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

350
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda