Ruby (Rails), Java, JavaScript, PostgreSQL, Cloud, Ubuntu :)

Usando PostgreSQL con Ruby on Rails

Hace no mucho publicaba un post sobre como instalar y configurar PostgreSQL para trabajar con Ruby on Rails, ahora quiero repasar algunos pasos de la instalación, adicional después daré algunos comandos y tips útiles para el proceso de desarrollo en Rails.

Instalación de PostgreSQL en Ubuntu 13.04 y Ubuntu 13.10

La instalación sobre Ubuntu es bastante sencilla, de momento estoy corriendo Ubuntu 13.04 y la instalación de la versión 9.1 se realiza con el comando sudo apt-get install postgresql, adicional solo requirimos instalar una libreria para desarrollo sudo apt-get install libpq-dev Ahora solo necesitamos agregar un nuestro usuario de sistema desde la linea de comandos:

$ sudo su postgres -c psql postgres
postgres=# CREATE ROLE nombredeusuario SUPERUSER LOGIN; 
postgres=# \q

Podemos verificar la instalación con el comando psql --version.

Postgres y Ruby on Rails

  • Si queremos crear una nueva aplicación en Ruby on Rails con Postgresql preconfigurado, es sencillo con el comando -d que provee rails, el cual nos permite pasar como parámetro diferentes servidores de bases de datos, entre éstos PostgreSQL.

  • $ rails new prueba -d postgresql 
    Automaticamente rails generará una aplicación, y podemos notar que la gema pg esta en el Gemfile, sustituyendo a la gema sqlite3 que es incluida por default.
  •  Una vez creada nuestra aplicación en rails debemos configurar los parámetros de acceso a postgre, esto lo hacemos en el archivo /config/database.yml principalmente el nombre de usuario y la contraseña en caso que lo hayamos establecido de esa manera.
  • Luego usamos el siguiente comando de rails para crear las bases de datos que establece por defecto para los entornos de desarrollo, producción y pruebas. Si no deseamos los nombres por defecto (p.e. prueba_development, prueba_production) podemos cambiarlos en el archivo database.yml antes de realizar este paso. 

  • $ rake db:create:all 

  • Si el paso anterior no nos da ningún error, significa que se han creado correctamente las bases de datos, por ahora siguiendo con nuestro ejemplo podemos crear un CRUD simple, para comprobar el ingreso de datos y hacer uso de nuestras bases de datos recién creadas.

    $ rails g scaffold aplicacion nombre descripcion:text
  • Proseguimos a crear la tabla para almacenar nuestras aplicaciones:

    $ rails db:migrate
  • Podemos comprobar que nuestra tabla ha sido creada usando el comando psql más el nombre de nuestra base de datos o bien usando el comando rails db que nos dirigirá al cliente en consola de postgres.
Algunos comandos de postgresql útiles:
\d = nos muestra la lista de relaciones en nuestra base de datos
\d nombredetabla = nos muestra el diseño de la tabla dada
\? = para una completa lista de comandos
\h = para lista de comandos sql
\h nombredecomando = nos da información sobre un determinado comando sql
\q = para salir del cliente psql
Si quieres aprender mas de PostgreSQL y SQL puedes leer la documentación en el sitio que esta muy buena http://www.postgresql.org/docs/9.1/interactive/index.html, o bien dirigirte a una serie de videotutoriales en español de Jesús Conde http://www.youtube.com/playlist?list=PLAF4831DDBDB8E841.

Próximamente estaré subiendo un post sobre como migrar datos de otros servidores de bd hacía PostgreSQL.