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

1K
Views
strapi base de datos.js / múltiples configuraciones de base de datos
  1. Strapi funciona localmente si estoy ejecutando sqlite en la base de datos.js pero no si estoy ejecutando postgres / He encontrado en línea que puedo especificar que npm run develop usa sqlite, y la producción debe usar postgres.

Para REF: encontré esta respuesta aquí: https://github.com/strapi/strapi/discussions/6832

¿Alguien puede mostrarme cómo configurar esto, ya que realmente me resulta difícil leer el documento para este problema?

Actualmente en la estructura de archivos:

 config/database.js

Tengo estas dos configuraciones (para local y heroku): comento la configuración de postgres para que heroku funcione localmente

 module.exports = ({ env }) => ({ defaultConnection: 'default', connections: { default: { connector: 'bookshelf', settings: { client: 'sqlite', filename: env('DATABASE_FILENAME', '.tmp/data.db'), }, options: { useNullAsDefault: true, }, }, }, }); 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', 27017), database: env('DATABASE_NAME', 'strapi'), username: env('DATABASE_USERNAME', ''), password: env('DATABASE_PASSWORD', ''), }, options: { ssl: false, }, }, }, });

  1. Cuando envié mi proyecto strapi a Heroku, la estructura correcta está ahí, es decir, los nombres de los artículos (SE MUESTRA EN LA IMAGEN DE ABAJO), pero no hay nada del contenido: es decir, publicaciones, imágenes, etc.

ingrese la descripción de la imagen aquí

Lo que imagino que está sucediendo es que el strapi local se creó con sqlite y heroku me obligó a usar postgres como base de datos, las bases de datos no son las mismas, por lo que los datos no se leen correctamente.

(Podría estar equivocado acerca de eso....)

En este caso: ¿cómo mueve su desarrollador local (configuración de inicio rápido recomendada) a su sitio de producción?

  • ¿Ejecutas npm build? y luego alojar strapi en su sitio front-end normal?

  • ¿Hay alguna manera de mover los datos de una base de datos a otra?

Perdón por hacer muchas preguntas pequeñas aquí. Es posible que me haya perdido un concepto que une todo.

Gracias de antemano por cualquier ayuda, Wally

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Encontré un video de Youtube muy útil que explica este proceso para el paso 1)

Cómo ejecutar una base de datos diferente dependiendo de si está siendo utilizada por desarrollo o producción.

La respuesta corta está en el archivo base de datos.js donde escribe una declaración if para ver si está usando desarrollo o producción:

Una vez que haya implementado esto, escribiré una respuesta completa :)

ENLACE DE VÍDEO: https://www.youtube.com/watch?v=xNE0TrI5OKk


PARTE 2: ¿Puedes migrar el trabajo que has hecho en strapi a una base de datos de producción, por ejemplo Heroku....?

La respuesta simple es lamentablemente (y muy frustrante): ¡NO!

Esto es del sitio de Strapis:

¿Strapi maneja la implementación o migración de contenido? Actualmente, Strapi no proporciona ninguna herramienta para migrar o implementar sus cambios de datos entre diferentes entornos (es decir, desde el desarrollo hasta la producción). Con la excepción de la configuración del administrador de contenido, para obtener más información sobre esta opción, consulte la siguiente documentación de la CLI.

ENCONTRADO AQUÍ: https://strapi.io/documentation/v3.x/getting-started/troubleshooting.html#frequently-asked-questions


También he estado hablando con un representante muy útil en la página de Strapi Slack para averiguar qué es lo que he estado haciendo mal (resulta adjudicar mucho...).

De todas formas:

  • Crea tus tipos de contenido en tu strapi local
  • Empújalos a tu strapi en línea (Heroku)
  • Agregue todo el contenido en línea NO localmente...

¿PEQUEÑO RAYO DE ESPERANZA?

Todavía no he hecho esto, pero aparentemente puede transferir manualmente los datos y convertirlos de sqlite a postgres usando:

Tendrá que hacer un volcado de datos utilizando algún cliente DB local (DBeaver es compatible con SQLite) y luego importar esos datos al servidor PG (también puede usar DBeaver allí) Strapi no tiene ninguna herramienta o sugerencia para la migración de contenido entre entornos actualmente.

Bueno, espero que esto ayude a cualquier otra persona que se encuentre con este problema como yo....

Wally :)

over 4 years ago · Santiago Trujillo Report

0

Puede apuntar a ambos Strapis (dev y producción) para usar la misma base de datos, en su caso Postgres de Heroku. Si ambos utilizan la misma base de datos, las modificaciones realizadas en la estructura de datos y el contenido en dev-strapi también están disponibles en producción. La estructura de datos (por ejemplo, el nuevo tipo de contenido) no estará disponible hasta que envíe una nueva versión a Heroku, pero el nuevo contenido que usa las estructuras de datos antiguas también estará disponible en producción-strapi (ambos strapis usan la misma base de datos -> mismos datos ).

EDITAR: las siguientes líneas ya no son válidas, la versión más reciente de strapi utiliza un enfoque un poco diferente para configurar la conexión de la base de datos (ver enlace de video de otra respuesta)

Puede definir conexiones de base de datos en dev-strapi:
\config\env\desarrollo\database.json
\config\env\producción\base de datos.json

EDITAR FIN

En Postgres de Heroku, creo que ha creado variables env para la conexión de la base de datos. Puede crear las mismas variables para la versión de desarrollo creando un archivo .env (encontrará toda la información necesaria de las variables de Heroku):

 DATABASE_HOST=xxx-yyy-zzz.eu-west-1.compute.amazonaws.com DATABASE_PORT=XXYY DATABASE_NAME=xxxyyyxxx DATABASE_USERNAME=xxxxxxx DATABASE_PASSWORD=123123123xyzxyz
over 4 years ago · Santiago Trujillo Report

0

parece que realmente desea migrar sus datos entre entornos... esto no es compatible actualmente con strapi. puede intentar encontrar o escribir su propio archivo semilla de db para mover los datos entre entornos.

No use la misma base de datos de diferentes entornos.

esto ya se respondió correctamente, no estoy seguro de por qué no se seleccionó una respuesta correcta.

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!