Cómo configurar Ruby on Rails con Postgres

Estado: obsoleto

Este artículo está obsoleto y ya no se mantiene.

Razón

Ahora ofrecemos tutoriales actualizados para usar Rails con Postgres que se adaptan a plataformas individuales.

Ver en su lugar

Este artículo puede resultar útil como referencia, pero es posible que no funcione o que no siga las prácticas recomendadas. Recomendamos encarecidamente utilizar un artículo reciente escrito para el sistema operativo que esté utilizando.

  • Cómo utilizar PostgreSQL con su aplicación Ruby on Rails en Ubuntu 18.04

  • Cómo usar PostgreSQL con tu aplicación Ruby on Rails en macOS

Introducción


Postgres (o PostgreSQL) es una base de datos de código abierto. Ruby on Rails es un framework web de código abierto escrito en Ruby . Rails es independiente de la base de datos, lo que significa que se puede utilizar con una variedad de bases de datos diferentes. De forma predeterminada, asume que se está utilizando MySQL, pero es bastante fácil de usar con Postgres.

Esta guía le guiará en la creación de una aplicación Rails que utilice una base de datos Postgres. Puede seguir la guía en su máquina local o en un VPS.

Requisitos de instalación


Instalación de Rails mediante RVM

La forma más sencilla de instalar Rails es mediante RVM , que también instala Ruby. Para instalar RVM, deberá asegurarse de que su sistema tenga curl instalado (la forma de hacerlo depende de su sistema operativo). Si ya tiene RVM instalado, pase a la siguiente sección.

RVM puede instalar Ruby y Rails automáticamente como parte de su instalación. Para ello, ejecute este comando:

curl -L https://get.rvm.io | bash -s stable --rails

Nota : debe revisar el script de instalación de RVM antes de ejecutarlo (o cualquier otro script remoto que conecte a bash.

RVM se instalará automáticamente en su sistema. Ahora puede usarlo para administrar sus versiones de Ruby. Esto es útil ya que puede requerir diferentes versiones de Ruby para diferentes proyectos. RVM también instaló la gema Rails para nosotros.

Instalación de Rails con RubyGems

Si ya tienes instalado RVM, no necesitas volver a instalarlo. En su lugar, puedes instalar Rails simplemente instalando la gema:

gem install rails

Esto instalará Rails y cualquier otra gema que requiera.

Instalación de Postgres

El método de instalación de Postgres depende del sistema operativo. Consulta postgresql.org/download para obtener una lista completa. Por lo general, lo más sencillo es utilizar un gestor de paquetes como apt-get en Ubuntu o Homebrew en OS X.

Si está instalando Postgres en una máquina local, es posible que también desee instalar una GUI (aunque esta guía supone el uso de la línea de comandos). pgAdmin no es la herramienta más bonita del mundo, pero hace el trabajo.

Por último, deberá instalar la gema pg para poder interactuar con Postgres desde el código Ruby. Para ello:

gem install pg

Configuración de Postgres


Crea un usuario de Postgres para la aplicación Rails que crearemos en el siguiente paso. Para ello, cambia al usuario de Postgres:

su - postgres

Luego de eso accede a Postgres:

psql

Luego crea un usuario (o un “rol”, como lo llama Postgres):

create role myapp with createdb login password 'password1';

Creando tu aplicación Rails


Para crear una aplicación Rails configurada para Postgres, ejecute este comando:

rails new myapp --database=postgresql

Esto crea un directorio llamado “myapp” que alberga una aplicación llamada “myapp” (puedes ponerle el nombre que quieras al ejecutar el comando). Rails espera que el nombre del usuario de la base de datos coincida con el nombre de la aplicación, pero puedes cambiarlo fácilmente si es necesario.

Ahora configuraremos con qué base de datos se comunicará Rails. Esto se hace mediante el archivo database.yml, ubicado en:

RAILS_ROOT/config/basededatos.yml

Nota : RAILS_ROOT es el directorio raíz de Rails. En el ejemplo anterior, estaría en /myapp (en relación con su ubicación actual).

Rails utiliza el archivo database.yml para conectarse a la base de datos adecuada para el entorno Rails actual. Utiliza YAML , un estándar de serialización de datos. Aquí se enumeran algunas bases de datos para diferentes entornos: desarrollo, prueba y producción. De forma predeterminada, Rails espera una base de datos diferente para cada entorno. Esto es útil porque, por ejemplo, la base de datos de prueba se vacía y se reconstruye cada vez que ejecuta pruebas Rails. Para cada base de datos, asegúrese de que el nombre de usuario y la contraseña coincidan con el nombre de usuario y la contraseña que le dio a su usuario de Postgres.

Una vez configurado, su database.yml debería contener algo como esto:

development:  adapter: postgresql  encoding: unicode  database: myapp_development  pool: 5  username: myapp  password: password1test:  adapter: postgresql  encoding: unicode  database: myapp_test  pool: 5  username: myapp  password: password1

Luego puedes ejecutar:

rake db:setup

Esto creará bases de datos de desarrollo y prueba, asignará a los propietarios el usuario especificado y creará tablas “schema_migrations” en cada una. Esta tabla se utiliza para registrar las migraciones a esquemas y datos.

Rieles para correr


Deberías poder iniciar tu aplicación Rails ahora:

rails server

Si navegas a localhost:3000 deberías ver una página de inicio de Rails. Sin embargo, esto no hace mucho. Para interactuar con nuestra base de datos, creemos un andamiaje:

rails g scaffold Post title:string body:textrake db:migrate

Ahora dirígete a localhost:3000/posts . Desde aquí, puedes crear nuevas publicaciones, editar publicaciones existentes y eliminar publicaciones. Consulta la guía de introducción a Rails para obtener más información sobre operaciones introductorias.

¡Tu aplicación Rails ahora está hablando con una base de datos Postgres!

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio