Deployment de Postgres en Heroku: Configuración y Migraciones
Clase 25 de 27 • Curso de Backend con Node.js: Base de Datos con PostgreSQL
Contenido del curso
Base de datos
- 3
Instalación de Docker en Windows, macOS y Ubuntu
01:52 min - 4

Configuración de Postgres en Docker con Docker Compose
10:13 min - 5

Conexión a Bases de Datos en Contenedores con Docker y PgAdmin
11:13 min - 6

Conexión de Node.js a PostgreSQL usando Node PostgreSQL Driver
08:40 min - 7

Manejo de conexiones con pool en Node.js y Postgres
06:55 min - 8

Manejo Seguro de Variables de Entorno en Node.js
13:25 min
Sequelize
Migraciones
Relaciones
Consultas
- 20

Relaciones Muchos a Muchos en SQL: Órdenes y Productos
19:05 min - 21

Relaciones Muchos a Muchos en SQLite con Tablas Ternarias
10:55 min - 22

Gestión de Relaciones Muchos a Muchos en Base de Datos
11:28 min - 23

Paginación de Datos con SQL: Uso de Limit y Offset
10:11 min - 24

Filtros Avanzados en Consultas SQL con SQLite
12:33 min
Despliegue
Próximos pasos
¿Cómo lanzar una base de datos en producción con Heroku?
Llevar tu aplicación a producción requiere configuraciones cuidadosas, especialmente si deseas incorporar una base de datos. Hacerlo de manera segura y eficiente asegura que tu aplicación funcione de manera óptima con datos en tiempo real. Heroku ofrece una solución robusta, simplificada y gestionada para implementar bases de datos Postgres en la nube. Vamos a adentrarnos en los pasos necesarios para configurar tu base de datos en Heroku y lanzar tu aplicación a producción de manera exitosa.
¿Cómo gestionar bases de datos con Heroku?
Heroku es una opción atractiva para gestionar bases de datos debido a sus servicios de seguridad, copias de seguridad automáticas y una integración fluida con aplicaciones en la nube. Antes de lanzar una base de datos en producción, ten en cuenta los siguientes aspectos:
- Proveedores existentes: Hay múltiples proveedores de bases de datos, cada uno con características específicas. Heroku es solo uno de ellos, pero también puedes considerar Amazon o DigitalOcean según tus necesidades.
- Planes de precios: Heroku ofrece un plan gratuito para el desarrollo y planes pagos a partir de $9 al mes para producción. Elige según el nivel de seguridad y capacidad que tu proyecto requiere.
¿Cómo configurar la base de datos en Heroku?
Para integrar Postgres con tu aplicación en Heroku, sigue estos pasos prácticos:
-
Configuración inicial:
- Asegúrate de tener el cliente de comandos de Heroku instalado y configurado.
- Crea o selecciona un proyecto existente en Heroku al que quieras implementar.
-
Conexión del proyecto a Heroku:
- Si tu proyecto no está enlazado con Heroku, utiliza el comando:
heroku git:remote -a nombre-del-proyecto
- Si tu proyecto no está enlazado con Heroku, utiliza el comando:
-
Agregar el complemento de Postgres:
- Incorpora Postgres a tu aplicación con el comando:
Este comando crea una nueva base de datos y provee acceso a la URL de conexión mediante variables de entorno.heroku addons:create heroku-postgresql:hobby-dev
- Incorpora Postgres a tu aplicación con el comando:
¿Cómo configurar variables de conexión en el código?
Una vez la base de datos está configurada, ajusta tu código para que pueda conectarse a la base de datos de producción. Esto implica crear las condiciones para que tu aplicación lea variables de entorno necesarias, como el DATABASE_URL, que Heroku proporciona automáticamente.
- Configuración del entorno: Identifica si estás en un entorno de producción o desarrollo usando una variable
isProd. - Lectura de la URL de conexión: Define cómo tu aplicación leerá la URL en producción, usualmente almacenada como
process.env.DATABASE_URL.
¿Cómo realizar despliegues adecuados en Heroku?
El despliegue correcto implica tanto la actualización del código como la migración de datos:
-
Realizar cambios en el código:
- Modifica tu archivo de configuración para apuntar a la base de datos de producción usando las variables adecuadas.
- Configura SSL si es necesario para la conexión segura habilitando el parámetro
requireSSL.
-
Despliegue del código a Heroku:
- Confirma tus cambios y asegúrate de que la rama sea compatible.
- Usa:
git push heroku main
-
Ejecución de migraciones:
- Asegúrate de correr todas las migraciones de la base de datos para que tu aplicación pueda crear las tablas necesarias.
- Ejecuta el comando en el entorno de producción:
heroku run npm run migrations:run
¿Cómo solucionar problemas comunes en migraciones con Heroku?
En ocasiones, podrías enfrentar problemas de conexión o migración por configuraciones incorrectas. Verifica los siguientes aspectos para solucionarlos:
- Errores de SSL: Asegúrate de que la configuración de SSL esté habilitada correctamente, cambiando el valor del parámetro
rejectUnauthorized. - Instalación de dependencias: Heroku por defecto instala solo las dependencias de producción. Si una herramienta de migración está en tus dependencias de desarrollo, trasládala a las de producción para garantizar que esté disponible.
Adoptar estas prácticas asegura un entorno más robusto y preparado para los desafíos del lanzamiento en producción. Mantente siempre atento a la documentación y recomendaciones específicas de Heroku para optimizar tus despliegues y gestión de datos en la nube.