Configurando MySQL en Ruby on Rails

Durante las siguientes entradas a este blog vamos a desarrollar una pequeña aplicación pero para eso utilizaremos MySQL. Ruby on Rails no trae por defecto ninguna base de datos así que tendremos que instalar MySQL y el conector que usa Rails.

Instalar MySQL

$ sudo apt-get install mysql-server mysql-client


Instalar Librerías
$ sudo apt-get install libmysql-ruby libmysqlclient-dev


Instalar el conector con gems
$ sudo gem install mysql


Una vez instalado lo anterior, probemos que esté funcionando correctamente:

Crear una nueva aplicación: Se utiliza el comando rails pero le agregamos el parámetro -d para indicar que vamos a usar MySQL como nuestra base de datos.

$ rails TestDB -d mysql


Comprobar archivo de configuración: Para ver la configuración usada para la conexión con la base de datos abrimos el archivo que se encuentra en TestDB/config/database.yml

En este archivo vemos que existen 3 conexiones diferentes: development, test y production. Las tres conexiones contienen los mismos parámetros el único que cambia es el parámetro database: éste es el nombre de la base de datos que vamos a usar, el nombre empieza con el nombre que le dimos a nuestra aplicación continuando con un guión bajo y el ambiente de desarrollo en el que estemos trabajando.
development:
adapter: mysql
encoding: utf8
reconnect: false
database: TestDB_development
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock


Ya explicado esto corramos la aplicación en el servidor:
$ cd TestDB
$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-05-26 23:02:31] INFO WEBrick 1.3.1
[2009-05-26 23:02:31] INFO ruby 1.8.7 (2008-08-11) [i486-linux]
[2009-05-26 23:02:36] INFO WEBrick::HTTPServer#start: pid=5508 port=3000


Ahora en el navegador entremos a la aplicación que está corriendo en http://127.0.0.1:3000, al estar en la pagina da click en About your application’s environment y verás el siguiente error:



Este error ocurre por que no se ha creado la base de datos, se tendrá que crear la base de datos TestDB_development ya sea en la terminal o en cualquier gestor de base de datos que tengan instalado. Crearla, refresca la página y mostrará los datos de la aplicación:



Espero que quede claro esta parte de la configuración de MySQL, si tienen alguna duda o problema dejen un comentario, en la siguiente entrada vamos a generar nuestro primer controlador de forma manual y usando scaffold.

  1. gravatar

    # by jocelo - 12 de junio de 2009 a las 14:55

    voy a probar todo esto y si no jala ya veras... u.u

  2. gravatar

    # by makio - 24 de agosto de 2009 a las 20:56

    Pruebalo, comprobado... si no te sale es por menso jojo