Autor: dummyonrails
20
may
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
Autor: dummyonrails
2
feb
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.
Autor: dummyonrails
9
jun
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?