Configurar PostgreSQL en Heroku

Archivada en Desarrollo

Configurar PostgreSQL en Heroku

Vimos en un artículo anterior como configurar nuestro entorno de trabajo para desarrollar una aplicación de Django en Nitrous.IO. Ahora vamos a crear una base de datos en PostgreSQL usando la plataforma gratuita que proporciona Heroku.

Heroku es una plataforma de servicios de cómputo (en inglés se llaman PaaS: Plataform As A Service) basada en Ubuntu que soporta distintos lenguajes de programación y proporciona herramientas de desarrollo en distintos niveles, desde el gratuito hasta el de alto desempeño.

Para el proyecto Krypton vamos a crear una base de datos en PostgreSQL y la vamos a conectar con nuestra aplicación desarrollada en Nitrous.IO, aunque por la fortaleza de la plataforma podemos usarla en otros proyectos, no solo en los desarrollados en Django.

Cómo crear una base de PostgreSQL en Heroku

Lo primero que tienes que hacer es ir a Heroku PostgreSQL y crear una cuenta:

Heroku PostgreSQL

Inscribirse es gratis y tendrás un servidor de base de datos PostgreSQL gratuito, aunque limitado a 10 mil registros. Para el desarrollo de nuestro proyecto eso es suficiente, cuentan con un plan básico que solo cuesta 9 dólares mensuales, aunque hay servicios bastante robustos para soportar cualquier tipo de carga, incluso las aplicaciones más pesadas.

Así que elegimos el plan de desarrollador que es gratuito y agregamos una base de datos.

Plan Dev

Se crea con esto una base de datos con un nombre aleatorio pero único. Si quieres cambiarle el nombre para que te sea más fácil tienes que irte al menú Apps,

Menu Apps

Ahí verás la lista de tus aplicaciones, selecciona la que acabas de crear,

Lista de Apps

Una vez dentro del panel de control de tu aplicación, selecciona el menú Settings dónde verás la opción para cambiar el nombre en Rename.

Rename

De regreso a tu base de datos, dentro del panel de control de tu base de datos, encontrarás ahí los datos necesarios para conectarnos desde nuestra aplicación. Toma nota de ellos.

Datos de conexión

Para facilitarnos la vida, vamos a colocar estos datos dentro de nuestro entorno en Nitrous.IO, y una forma es colocarlas en variables de entorno, dentro de nuestro archivo .bashrc

export KRYPTON_DATABASE_HOST=exxxxxxxxxxxxxx.amazonaws.com
export KRYPTON_DATABASE_NAME=dxxxxxxxxxxxxxxj
export KRYPTON_DATABASE_USER=gxxxxxxxxxxxxxxn
export KRYPTON_DATABASE_PASS=8xxxxxxxxxxxxxxU
export KRYPTON_DATABASE_PORT=5432

Para usarlos en Django, por ejemplo, tendríamos que asegurarnos que tenemos en nuestro archivo settings.py el módulo os y tomar estos datos del entorno.

import os

DATABASES = {
  'default': {
      'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'HOST': os.environ[KRYPTON_DATABASE_HOST],
        'NAME': os.environ[KRYPTON_DATABASE_NAME],
        'USER': os.environ[KRYPTON_DATABASE_USER],
    'PASSWORD': os.environ[KRYPTON_DATABASE_PASS],
        'PORT': 5432,
  }
}

Y listo, ya tenemos una base de datos PostgreSQL, en Heroku, una plataforma de servicios que contribuirá al éxito de nuestro proyecto.

Javier Sanchez Toledano

Soy programador en Django+Python y WordPress. Auditor líder certificado en la norma ISO 9001:2008. Fotógrafo aficionado.
Redes Sociales:

Tlaxcala, México

Comentarios