Publicidad:
La Coctelera

Dummy On Rails

O lo que es lo mismo un DOR escribiendo para aprender...

Categoría: MySQL

20 Mayo 2008

Al crear una aplicación con Rails 2.0.2, te encontrarás que, por defecto, la base de datos es SQLite3. ¿Razón? Sencillez, según el equipo responsable de Rails.

Si estás acostumbrado a trabajar con MySQL, mediante el parámetro "-d mysql", puedes saltarte la versión por defecto tomar como base de datos MySQL.

 rails mi-aplicacion -d mysql
 

Fuente: Rails 2.0.2: Some new defaults and a few fixes

2 Febrero 2008

Estamos en entorno de desarrollo (Mac Os X)...

  • Has creado tu aplicación mediante el comando Rails (rails miapp --database=mysql). Es importante que especifiques el tipo de base de datos que quieres emplear, ya que en caso contrario, por defecto puede tomar SQLite.
  • Has creado la base de datos de desarrollo: con el comando mysqladmin -u root miapp_development.
  • Has configurado el archivo config/database.yml para conectar con la base de datos de desarrollo.

Para comprobar que todo funciona correctamente, acude al shell e introduce el comando:

rake db:migrate

Si el sistema muestra el siguiente mensaje de error:

/usr/local/bin/rake:17: undefined method `require_gem' for main:Object (NoMethodError)

Es porque la versión de rake en nuestro sistema está desactualizada. Para actualizarla, y desde el shell, debemos introducir el siguiente comando.

sudo gem install --remote rake

Vuelve a introducir rake db:migrate y el mensaje de error habrá desaparecido.

9 Junio 2007

Uno de los problemas típicos cuando se ejecuta MySQL desde la consola es la imposibilidad de ver en el entorno local las bases de datos con las que queremos trabajar. Si ejecutamos el comando:

maquina:~ maquina$ mysql

Esto es lo que vemos:

 mysql> show databases;
 +--------------------+
 | Database |
 +--------------------+
 | information_schema | 
 | test | 
 +--------------------+
 2 rows in set (0.00 sec)
 

¿Dónde están nuestras bases de datos? ¿Porqué no aparecen? La respuesta es que posiblemente hayas accedido como un usuario anónimo y este perfil tiene el acceso limitado.

Compruébalo tecleando:

 mysql> SELECT user(), current_user();
 +---------------------+----------------+
 | user()              | current_user() |
 +---------------------+----------------+
 | yo@localhost | @localhost     | 
 +---------------------+----------------+
 1 row in set (0.26 sec)

Sal de MySQL y vuelve a entrar poniendo el parámetro -uroot

maquina:~ maquina$ mysql -uroot

Ahora el comando mysql> show databases; debería mostrarte las bases de datos que estabas buscando. Vaya susto, ¿eh?

Sobre Dummy On Rails

Como Sísifo, héroe absurdo, fui condenado la ceguera y a empujar una gran roca hasta la cima de la montaña. Una vez arriba, un segundo de felicidad para sentir como la piedra se despeña. Y así una y otra vez. Para siempre...

Categorías