Heroku Postgres conexión a datos

En el tutorial anterior explicamos como desplegar una aplicación desarrollada en Spring Boot en la plataforma Heroku, normalmente el siguiente paso en agregar la conexión a datos, vamos a explicar como activar el complemento para soportar una BD Postgres, aunque la plataforma muchos otros motores de datos, veremos también como enviar consultas, ya sea para crear tablas, insertar datos, etc., y por supuesto que mostraremos el código Java requerido para crear la conexión.

Datos en Heroku

Activar el complemento Postgres

Lo primero que debemos hacer es activar al complemento correspondiente a la BD que utilizaremos, entramos a la página de nuestra aplicación, ubicaremos la pestaña Resources, en la parte inferior veremos el botón Find more add-ons, este nos servirá para seleccionar entre los distintos complementos disponibles, para ser más rápidos usaremos el cuadro de búsqueda, en él escribimos Heroku Postgres.

instalar heroku postgres

Al localizar el complemento veremos la siguiente ventana.

activar heroku ppostgres

Presionamos el botón indicado para activar, si todo ha estado bien veremos este mensaje:

heroku postgres instalado

Al hacer clic sobre el complemento que acabamos de añadir podremos ver su configuración.

heroku data store

Los datos que nos interesan, los correspondientes a la conexión los encontraremos en la pestaña Settings,  allí al presionar el botón View Credentials… veremos lo siguiente:

credenciales de bd

La información que nos interesa es el comando para conectarnos a la base de datos de la aplicación Heroku CLI, obviamente debes instalarla y agregar la ruta a la variable de entorno PATH, si es que no lo has hecho ya, para iniciar sesión utiliza el comando heroku login, se te pedirá que introduzcas tus credenciales.

Crear tabla en Heroku Postgres

Antes de proceder debemos instalar Postgres localmente, debemos asegúrenos de agregar la carpeta de instalación al la variable de entorno PATH, por ejemplo: C:\developer\pgsql\bin.

Hecho esto abrimos una ventana de comandos CMD y escribimos el comando que se muestra en la imagen anterior, en mi caso es:

heroku pg:psql postgresql-concave-21459 --app springboot-deploy-test

Si todo va correctamente podrás ver el siguiente mensaje el la ventana:

--> Connencting to postgresql-concave-21459
...
springboot-deploy-test::DATABASE=>

Ahora podemos escribir los comandos para manipular la base de datos, crear tablas, agregar, editar, eliminar datos, entre otras cosas, en nuestro caso solo crearemos una tabla, la misma será usada para almacenar comentarios, es solo una demostración.

Escribimos el siguiente comando SQL:

CREATE TABLE comments (nombre character varying(50), texto character varying(250), fecha date);

Si deseas, puedes agregar más consultas como INSERT, SELECT, etc. nosotros agregaremos datos desde la aplicación Spring Boot.

Conectar Heroku Postgres a Spring Boot

Para finalizar nuestro tutorial vamos a modificar el DataSource para que se conecte a la base de datos que acabamos de crear y poder consultar los comentarios guardados y también crear nuevos.

Nuestra clase de configuración Spring Boot queda de la siguiente manera:

@Configuration
public class DataConfig {

    @Bean
    public BasicDataSource dataSource() throws URISyntaxException {

        String dbUrl = System.getenv("JDBC_DATABASE_URL");
        String username = System.getenv("JDBC_DATABASE_USERNAME");
        String password = System.getenv("JDBC_DATABASE_PASSWORD");

        BasicDataSource basicDataSource = new BasicDataSource();
        basicDataSource.setUrl(dbUrl);
        basicDataSource.setUsername(username);
        basicDataSource.setPassword(password);

        return basicDataSource;
    }

    @Bean
    public JdbcTemplate jdbcTemplate() throws URISyntaxException {
        return new JdbcTemplate(dataSource());
    }
}

Como puedes ver, no hay nada nuevo, solo las variables JDBC_DATABASE_* que nos brindan las correspondientes informaciones que requerimos para la conexión, todo lo demás queda igual, puedes ver tutoriales de acceso a datos.

Una vez hagamos los cambios, los publicamos en GitHub y hacemos el Deploy, como lo mostramos en el tutorial previo, tenemos lo siguiente: https://springboot-deploy-test.herokuapp.com/comentar

Applicación Spring Boot en Heroku Postgres

Puedes guardar tus comentarios, es una aplicación simple, no hay comprobación de errores, ni nada parecido, puedes ver el resto de la aplicación en el repositorio en línea, controlador, capa de datos, etc., Proyecto en GitHub.

Es todo por ahora, nos vemos en la próxima.

Comentarios

Entradas populares de este blog

Conectar SQL Server con Java

Entrenar OpenCV en Detección de Objetos

Conociendo la clase cv::Mat de OpenCV

Procesamiento de imágenes en OpenCV

Acceso a la webcam con OpenCV