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

830
Visualizações
Strapi me da errores de base de datos en producción, aunque estoy usando las credenciales correctas

EDITAR: Encontré un archivo en /config/database.js que se usa para conectarse a sqlite en desarrollo. Cuando cambio el nombre del cliente de sqlite a postgres, ahí es cuando comienza el problema.

¿No se supone que strapi debe ignorar archivos como este en producción? ¿Cómo puedo hacer que strapi ignore este archivo y solo use mi base de datos de postgres?

 module.exports = ({ env }) => ({ defaultConnection: 'default', connections: { default: { connector: 'bookshelf', settings: { client: 'sqlite', filename: env('DATABASE_FILENAME', '.tmp/data.db'), }, options: { useNullAsDefault: true, }, }, }, });

Finalizar edición.

Estoy tratando de hacer que mi aplicación strapi se inicie en producción, pero sigue fallando diciendo

 [2020-07-22T01:15:40.246Z] debug ⛔️ Server wasn't able to start properly. [2020-07-22T01:15:40.247Z] error error: password authentication failed for user "<redacted>"

El resto de la salida está relacionada con pg, lo que me lleva a pensar que se trata de un error de conexión a la base de datos. Puedo iniciar sesión en mi base de datos desde la línea de comando usando psql -U postgres -W , lo que confirma que conozco mi contraseña.

Además, estoy usando pm2 para ejecutar cosas, y en lugar de usar process.env en ese archivo, solo agregué las variables db directamente, pero eso no hizo ninguna diferencia.

La aplicación ha sido construida en modo de producción. Tengo 3 dbs en pg, uno llamado postgres, uno con el nombre de mi aplicación y otro llamado strapi.

Gracias

mi /config/enviroronments/production.database.json se ve así

 { "defaultConnection": "default", "connections": { "default": { "connector": "bookshelf", "settings": { "client": "postgres", "host": "${process.env.DATABASE_HOST || '127.0.0.1'}", "port": "${process.env.DATABASE_PORT || 27017}", "database": "${process.env.DATABASE_NAME || 'strapi'}", "username": "${process.env.DATABASE_USERNAME || ''}", "password": "${process.env.DATABASE_PASSWORD || ''}" }, "options": { "ssl": false } } } }

y tengo un archivo .env en la raíz de la aplicación de back-end que se ve así

 DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_NAME="<redacted - all letters>" DATABASE_USERNAME="<redacted - all letters>" DATABASE_PASSWORD="<redacted - all letters>"
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Encontré el problema. Cuando creé la aplicación, usé sqlite como mi base de datos. Como resultado, el archivo base de datos.js predeterminado no se configuró de manera que pudiera sobrescribirse con variables env.

Creé una nueva aplicación local de Strapi con pgsql como mi base de datos y copié el contenido del archivo database.js en mi servidor. Todo funcionando ahora.

Nuevo archivo para referencia

 module.exports = ({ env }) => ({ defaultConnection: 'default', connections: { default: { connector: 'bookshelf', settings: { client: 'postgres', host: env('DATABASE_HOST', '127.0.0.1'), port: env.int('DATABASE_PORT', 5432), database: env('DATABASE_NAME', 'my-strapi-project'), username: env('DATABASE_USERNAME', 'testing'), password: env('DATABASE_PASSWORD', 'testing'), ssl: env.bool('DATABASE_SSL', false), }, options: {} }, }, });
over 4 years ago · Santiago Trujillo Relatório

0

Tuve la misma situación en el desarrollo. Creé una aplicación strapi con SQLite y decidí usar PostgreSQL. Ahí es donde vino el problema. Así que la solución fue la siguiente:

nombre_aplicación/config/database.js

 module.exports = ({ env }) => ({ connection: { client: 'postgres', connection: { host: env('DATABASE_HOST', '127.0.0.1'), port: env.int('DATABASE_PORT', 5432), database: env('DATABASE_NAME', 'db_name'), user: env('DATABASE_USERNAME', 'postgres'), password: env('DATABASE_PASSWORD', 'postgres'), ssl: env.bool('DATABASE_SSL', false), }, }, });

Sus dependencias en app_name/package.json deberían ser como

 "dependencies": { "@strapi/strapi": "4.1.8", "@strapi/plugin-users-permissions": "4.1.8", "@strapi/plugin-i18n": "4.1.8", "pg": "8.6.0" }
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