Estado: Obsoleto
Este artículo está obsoleto y ya no se mantiene.
Razón
Ahora proporcionamos tutoriales actualizados para usar Rails con Postgres que están adaptados a plataformas individuales.
Ver en su lugar
Este artículo aún puede ser útil como referencia, pero es posible que no funcione o siga las mejores prácticas. Recomendamos encarecidamente utilizar un artículo reciente escrito para el sistema operativo que esté utilizando.
Introducción
Postgres (o PostgreSQL) es una base de datos de código abierto. Ruby on Rails es un marco de trabajo web de código abierto escrito en Ruby. Rails es independiente de la base de datos, lo que significa que puede utilizarse con una variedad de bases de datos diferentes. Por defecto, asume que se está utilizando MySQL, pero es bastante fácil de usar con Postgres en su lugar.
Esta guía te guiará en la creación de una aplicación Rails que utiliza una base de datos Postgres. Puedes seguir la guía en tu máquina local o un VPS.
Instalación de requisitos
Instalación de Rails usando RVM
La forma más sencilla de instalar Rails es mediante RVM, que también instala Ruby. Para instalar RVM, deberás asegurarte de que tu sistema tenga curl instalado (cómo hacerlo depende de tu sistema operativo). Si ya tienes RVM instalado, puedes pasar a la siguiente sección.
RVM puede instalar Ruby y Rails automáticamente como parte de su instalación. Para hacerlo, ejecuta este comando:
\curl -L https://get.rvm.io | bash -s stable --rails
Nota: debes revisar el script de instalación de RVM antes de ejecutarlo (o cualquier otro script remoto que redirijas a bash
).
RVM se instalará en tu sistema. Ahora puedes usarlo para gestionar tus versiones de Ruby. Esto es útil ya que puedes necesitar diferentes versiones de Ruby para diferentes proyectos. RVM también instaló la gema de Rails para nosotros.
Instalación de Rails usando RubyGems
Si ya tienes RVM instalado, no necesitas reinstalarlo. En su lugar, simplemente puedes instalar Rails 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 de su sistema operativo. Consulta postgresql.org/download para obtener una lista completa. Generalmente, es más fácil usar un gestor de paquetes como apt-get en Ubuntu o Homebrew en OS X.
Si estás instalando Postgres en una máquina local, es posible que también desees instalar una interfaz gráfica de usuario (aunque esta guía asume el uso de la línea de comandos). pgAdmin no es la herramienta más bonita del mundo, pero cumple su función.
Finalmente, querrás instalar la gema pg para poder interactuar con Postgres desde el código Ruby. Para hacerlo:
gem install pg
Configuración de Postgres
Crea un usuario de Postgres para la aplicación Rails que crearemos en el próximo paso. Para hacer esto, cambia al usuario de Postgres:
su - postgres
Luego accede a Postgres:
psql
Después, crea un usuario (o un “rol”, como lo llama Postgres):
create role myapp with createdb login password 'password1';
Creación de tu Aplicación Rails
Para crear una aplicación Rails configurada para Postgres, ejecuta este comando:
rails new myapp --database=postgresql
Esto crea un directorio llamado “myapp” que alberga una aplicación llamada “myapp” (puede nombrarlo como desee 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 cambiar eso fácilmente si es necesario.
Ahora configuraremos a qué base de datos hablará Rails. Esto se hace usando el archivo database.yml, ubicado en:
RAILS_ROOT/config/database.yml
Nota: RAILS_ROOT es el directorio raíz de Rails. En el ejemplo anterior, estaría en /myapp (relativo a tu ubicación actual).
El archivo database.yml es utilizado por Rails para conectarse a la base de datos apropiada para el entorno actual de Rails. 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. Por defecto, Rails esperará una base de datos diferente para cada entorno. Esto es útil porque, por ejemplo, la base de datos de prueba se vacía y reconstruye cada vez que ejecutas las pruebas de Rails. Para cada base de datos, asegúrate de que el nombre de usuario y la contraseña coincidan con el nombre de usuario y la contraseña que diste a tu usuario de Postgres.
Una vez configurado, tu database.yml debería contener algo como esto:
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myapp
password: password1
test:
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, establecerá sus propietarios en el usuario especificado y creará tablas “schema_migrations” en cada una. Esta tabla se utiliza para registrar tus migraciones a esquemas y datos.
Ejecutando Rails
Deberías poder iniciar tu aplicación de 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 andamio:
rails g scaffold Post title:string body:text
rake db:migrate
Ahora navega a localhost:3000/posts. Desde aquí, puedes crear nuevas publicaciones, editar publicaciones existentes y eliminar publicaciones. Consulta la guía de inicio de Rails para obtener más operaciones introductorias.
¡Tu aplicación de Rails ahora está conectada a una base de datos de Postgres!
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres