2011-05-15 18 views
7

Nuevo en Rails. Tenía una aplicación simple de Rails 3 en OS X 10.6, usando la base de datos predeterminada sqlite3.Problemas para conseguir que Rails 3 funcione con MySQL

Estoy tratando de convertir eso para usar el servidor MySQL que ya tengo instalado. (mysql5 -uroot funciona.) Me gustaría usar mysql2, que instalé y dijo que fue exitoso.

database.yml:

development: 
    adapter: mysql2 
    database: myproject 
    username: root 
    socket: /tmp/mysql.sock 

Gemfile:

source 'http://rubygems.org' 
gem 'rails', '3.0.6' 
gem 'mysql2' 
gem 'sqlite3' 

Más información:

$ bundle show mysql2 
/Users/me/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.3.2 

Las cargas de la página con: "ActiveRecord :: ConnectionNotEstablished"

I 'No estoy seguro si se supone que debo crear la base de datos myproject manualmente o no. De todos modos, lo he intentado de ambas formas.

me sale:

$ rake db:schema:load 
(in /Users/me/Sites/myproject/web) 
WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1 
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x 
-- create_table("notes", {:force=>true}) 
rake aborted! 
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) 

He intentado instalar esa gema:

$ sudo gem install activerecord-mysql2-adapter 
ERROR: Could not find a valid gem 'activerecord-mysql2-adapter' (>= 0) in any repository 

De la lectura de algunos very similar questions, parece lo que resuelve el problema para todos los demás es sólo hacer que la base de datos. El adaptador yml dice mysql2. Ya he hecho esto, sin embargo, y no sirvió de nada ...

Respuesta

5

Uso esto en Gemfile:

gem 'mysql2','0.2.7' 

Y luego bundle install.

Tenga en cuenta que mysql2 versión 0.3.x es para Rails 3.1.x. Para Rails 3.0.x, use la versión 0.2.x de mysql2.

Ps. Si aún no está usando rvm, le recomiendo usarlo. Consulte here para saber por qué rvm es tan genial.

+0

gracias. Esto funcionó para mí. Me pregunto si funcionó para @philfreo? – Jay

+0

sí, gracias. estaba tratando de usar mysql2 en los rieles 3.0.x – philfreo

Cuestiones relacionadas