Configuración y uso (para principiantes) de PostgreSQL en el framework Ruby on Rails.

Juan Pablo Aboytes Novoa
5 min readApr 2, 2018

--

Autor: Juan Pablo Aboytes Novoa.

Primero, partimos de la base que ya tienes instalado Ruby on Rails, de no ser así no te preocupes, también cubriré la instalación de Ruby on Rails.

Instalación de Ruby on Rails

La instalación será en la IDE de Cloud9.

1.- Tienes que registrarte en la página de: “c9.io” quizá te pidan alguna tarjeta de crédito, pero no te preocupes, no es necesario pagar para poder usarlo.

2.- Llena el formulario (Imagen 1.0) para iniciar sesión en c9.io

Imagen 1.0 Iniciar sesión

3.- Al iniciar sesión serás redireccionado a la siguiente página (Imagen 1.1), haz clic en el símbolo “+” para poder crear un workplace.

Imagen 1.1 Crear workplace

4.- Rellena el formulario workspace y descripción, aunque este último no es necesario, también escoge si quieres que sea público o no, se puede modificar después de crear. Por último. tienes que elegir un template, al ser un tutorial de Ruby on Rails puedes escoger entre el template de “Rails tutorial” (recomendado si vas a hacer el tutorial) y “Ruby” y dar clic en crear workspace. (Imagen 1.3)

Imagen 1.3

5.- Clickea el engrane (Imagen 1.4) para poder configurar el workplace, también puedes darte cuenta que hay una sección a la izquierda donde estarán todos tus aplicaciones organizadas por carpetas y la parte de abajo es tu consola que te ayudará a correr tus aplicaciones, crear directorios y archivos.

Imagen 1.4 Configuración de workplace

6.- Cambia el valor de “Soft tabs” a 2. (Imagen 1.5)

Imagen 1.5

7.- Comando para instalar Ruby on Rails. (Imagen 1.6)

Imagen 1.6 Instalar Rails version 5.1.4

Este comando instala la versión de Rails que le indiques, en este ejemplo es la versión 5.1.4 que es la que se usa en el tutorial de Ruby on Rails (si lo consultas en internet).

¡Listo! Ya instalaste Ruby on Rails, antes de avanzar en el artículo, tienes que saber lo básico de Ruby on Rails, para esto, tienes que llevar a cabo por lo menos la mitad del tutorial.

Link del tutorial de Ruby on Rails: https://www.railstutorial.org/book/beginning

PostgreSQL en Ruby on Rails.

Antes de comenzar con esta sección del artículo es importante mencionar que Ruby on Rails por defecto usa sqlite3 como gestor de base de datos pero esta es una opción muy básica y no es nada recomendado para proyectos de medio-grande alcance, que, de hecho, es la razón por la cual hago este artículo.

1.-Crear una carpeta.

2.- Comando para instalar PostgreSQL en la consola, esto se debe realizar ya en la carpeta del proyecto en el cual se usará PostgreSQL. (Imagen 2.0)

Imagen 2.0 Instalación de PostgreSQL

3.- Necesitamos crear una cuenta de PostgreSQL para la carpeta (o proyecto). Con los siguientes comandos lograremos esto. (Imagen 2.1 y 2.2)

Imagen 2.1
Imagen 2.2 Creación de cuenta de PostgreSQL

4.- Crear el proyecto de Ruby on Rails con PostgreSQL como gestor de base de datos. Puedes asignar el nombre que quieras en lugar de “NombreDeApp” (Imagen 2.3).

Imagen 2.3 Creación de base de datos.

Para cada base de datos (ya sea de desarrollo, prueba y producción) que tengas en el proyecto se debe tener el mismo nombre de usuario y contraseña, esto se hace en RAILS_ROOT/config/database.yml (Imagen 2.4).

Imagen 2.4 Definicion de las base de datos para cada ambiente, database.yml

5.- Crear las bases de datos de prueba y desarrollo, también crea un documento en la carpeta db donde se registran las migraciones que se hacen en el proyecto, estos documentos guardan los cambios realizados en las base de datos, se crean bajo un estándar de nombre de “[marcadetiempo]NombreDeLaMigración.rb”.

6.- Probar que funcione. Para este paso usaremos la generación de un scaffold para crear una tabla con sus columnas y sin registros, estos últimos los agregaremos desde la consola de Rails.

6.1 Generar scaffold (Imagen 2.5)

Imagen 2.5 Generar scaffold

Con el primer comando creamos una tabla llamada Post con una columna llamada title de tipo String y body de tipo text y con el segundo comando hacemos una migración de la tabla que no ha sido incorporada, es decir cada vez que hacemos un cambio de composición de una tabla debemos hacer una migración.

6.2 Crear un registro en la tabla por medio de la consola de Rails. Primero entramos a la consola de rails. (Imagen 2.6)

Imagen 2.6 Acceder a consola de rails

6.2.1 Creamos una variable que contenga los datos del nuevo registro usando la función new (Imagen 2.7) y después guardándolo en la base de datos con la función save (Imagen 2.8).

Imagen 2.7 Nuevo registro a la base de datos
Imagen 2.8 Guardar registro en base de datos

6.2.2 Verificamos que los datos fueron guardados correctamente, para esto, solo llamaremos el nombre de la variable a la cual guardamos la información del registro e incluso podemos buscar el registro por su id (cada tabla que se crea se le agrega una columna de id y el número es generado de manera automática) por lo que nuestro registro que creamos tendrá como id el 1. (Imagen 2.9)

Imagen 2.9 Buscar un registro por medio de la función find y el id.

NOTA: Al tratar de acceder al proyecto puede mostrarte un error de PostgreSQL, esto se soluciona con los siguientes comandos. (Imagen 3.0 y 3.1)

Imagen 3.0 Iniciar el servicio de PostgreSQL
Imagen 3.1 Aplicar las migraciones del proyecto

Y ¡listo! Ya tienes PostgreSQL en Ruby on Rails.

Referencias usadas

Tutorial de Rails: https://www.railstutorial.org/book/beginning

Configuración e instalación de PostgreSQL: https://www.digitalocean.com/community/tutorials/how-to-setup-ruby-on-rails-with-postgres

Uso de consola de Rails para registros https://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload

--

--