Volver al blog

Configuración de Ruby on Rails con PostgreSQL

Configuración de Ruby on Rails con PostgreSQL

Entre todos los motores de bases de datos disponibles, PostgreSQL es uno de los más populares. Es un sistema de bases de datos de código abierto muy conocido por su fiabilidad, características robustas y rendimiento. Debido a que PostgreSQL es una opción popular, es compatible con casi todos los principales frameworks web. Al igual que sus competidores MySQL y SQLite, PostgreSQL también tiene sus puntos fuertes y débiles.

Ruby on Rails es un framework web popular escrito en Ruby. Es un framework agnóstico de la base de datos, lo que significa que puede funcionar con una amplia variedad de bases de datos. Por defecto, Rails asume SQL para las funcionalidades de la base de datos. Sin embargo, también es compatible con la integración de PostgreSQL.

Este tutorial te guiará a través del proceso de configuración de PostgreSQL para tu aplicación Ruby on Rails.

Ruby on Rails y PostgreSQL

Tanto PostgreSQL como Ruby on Rails están disponibles en cualquier distribución UNIX/Linux. Deberían estar disponibles en los servidores de paquetes predeterminados.

Un método alternativo es usar RVM (Ruby Version Manager). Es una herramienta dedicada para gestionar instalaciones de Ruby on Rails. El beneficio de este enfoque es que RVM creará una instalación local de Ruby on Rails. También puede gestionar múltiples versiones de Ruby y cambiar entre ellas sin problemas. Aquí hay un tutorial que detalla los pasos de Instalación de Ruby on Rails con RVM en Ubuntu.

En cuanto a PostgreSQL, echa un vistazo a esta guía rápida sobre instalación y configuración de PostgreSQL en Ubuntu.

  • Instalación de RVM

El proceso de instalación de RVM es bastante sencillo, gracias al script de instalación que ofrece RVM. El script está diseñado para detectar automáticamente el sistema Linux, luego descargar e instalar todos los paquetes necesarios. Necesitamos las claves GPG de RVM para verificar los paquetes. Esto asegura que los paquetes recibidos no sean falsificados. Primero, añade las claves GPG de RVM:

gpg_recv_keys Ruby on Rails with PostgreSQL

Luego, ejecuta el script de instalación de RVM:

install_rvm Ruby on Rails with PostgreSQL

Finalmente, verifica la instalación:

verify_install

  • Installing Rails

Ahora podemos usar RVM para instalar componentes adicionales. Instala el framework Rails usando RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • Instalación de PostgreSQL

El siguiente paso requiere tener PostgreSQL preinstalado en el sistema. Por defecto, la forma más fácil de instalar PostgreSQL es usando el gestor de paquetes predeterminado. Está disponible para todas las principales distribuciones de Linux. Echa un vistazo a la página de descarga de PostgreSQL para conocer todos los métodos de instalación disponibles. En Ubuntu, los siguientes comandos configurarán el repositorio de PostgreSQL y lo instalarán de inmediato:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Para habilitar el soporte de PostgreSQL, necesitamos instalar la pg gema. Permite interactuar con PostgreSQL desde el código Ruby:

gem_install_pg

  • Configuración de PostgreSQL

Después de la instalación, configuraremos las herramientas que necesitaremos usar para nuestros proyectos. Primero, cambia al usuario de PostgreSQL:

Accede a la consola de PostgreSQL:

psql Ruby on Rails with PostgreSQL

En el contexto de PostgreSQL, ahora crearemos un nuevo rol (clásicamente conocido como usuario). PostgreSQL tiene su propio formato de roles y permisos. No olvides usar un nombre de usuario adecuado y una contraseña segura:

create_role

Creación de una aplicación Rails

Dile a Rails que cree una nueva aplicación Rails configurada para usar PostgreSQL para la base de datos:

rails_new_dummy_app

Esto creará un nuevo directorio con el nombre de usuario de la aplicación. Rails generalmente espera que el nombre de usuario de la base de datos y el nombre de la aplicación sean el mismo. El siguiente paso es configurar la base de datos de Rails. El archivo de configuración se encuentra en la siguiente ubicación:

El archivo database.yml contiene los datos que describen la base de datos adecuada para el entorno actual de Rails. Como sugiere el nombre del archivo, utiliza YAML. YAML es un estándar de serialización de datos amigable para los humanos para todos los lenguajes de programación.

Por defecto, Rails espera diferentes bases de datos para diferentes entornos, por ejemplo, development, test, y production. Es útil en varias situaciones, por ejemplo, Rails vaciará y reconstruirá la base de datos de test cada vez que se ejecuta una prueba de Rails.

Aquí hay un ejemplo de database.yml que contiene las bases de datos de development y test :

db_yaml

Ahora es el momento de aplicar los cambios. El siguiente comando preparará las bases de datos necesarias descritas en database.yml. Cada base de datos tendrá sus propios usuarios y tendrá tablas schema_migrations . La tabla es necesaria para la migración de datos y esquemas:

Este paso fallará si el archivo de configuración de PostgreSQL pg_hba.conf contiene configuraciones incorrectas. El archivo se encuentra en la siguiente ubicación:

La siguiente línea es el objetivo. En lugar de peer, el método de autenticación debería ser md5:

Cambia la línea:

pg_hba_conf

Para aplicar los cambios, debes reiniciar el servicio de PostgreSQL:

Luego, vuelve a ejecutar la configuración de la base de datos:

rake_db_setup

Ejecutando Rails

Ejecutar el servidor de Rails requiere el siguiente componente adicional. Ten en cuenta que para esto, necesitas Node.js instalado (con yarn):

webpacker_install

La aplicación Rails ahora debería estar lista para iniciarse. Inicia el servidor de Rails:

rails_server

El servidor debería ser accesible desde la siguiente URL. Llegará a la página de inicio de Rails:

Para hacer que la página de inicio sea más emocionante, crea un scaffold:

create_scaffold

rakedb_migrate

Finalmente, inicia el servidor y navega a la URL nuevamente. Ahora podemos administrar publicaciones (crear, editar y eliminar publicaciones).

Reflexiones finales

Esta es una configuración básica de Ruby on Rails con PostgreSQL. Hay una guía de inicio oficial que te ayudará a utilizar más a fondo Rails. La aplicación de ejemplo que creamos utiliza PostgreSQL. De esta manera, puedes crear cualquier aplicación que utilice PostgreSQL para sus funcionalidades.

¡Feliz programación!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.