2011-05-15 43 views
7

Rails的全新功能。我在OS X 10.6上使用了一个简单的Rails 3应用程序,使用默认的sqlite3数据库。无法让Rails 3与MySQL一起工作

我想转换为使用我已经安装的MySQL服务器。 (mysql5 -uroot工程。)我想使用mysql2,我安装,它说它是成功的。

的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' 

更多信息:

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

该页面加载着: “的ActiveRecord :: ConnectionNotEstablished”

我我不确定如果我应该手动创建myproject数据库。无论如何,我已经尝试过两种方式。

我得到:

$ 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) 

我试图安装宝石:

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

从阅读一些very similar questions,似乎什么解决了其他人都只是确保数据库的问题。 yml适配器说mysql2。我已经做到了这一点,但并没有帮助...

回答

5

使用此在的Gemfile:

gem 'mysql2','0.2.7' 

然后bundle install

请注意,MySQL2的0.3.x版本适用于Rails 3.1.x.对于Rails 3.0.x,使用mysql2的0.2.x版本。

Ps。如果您还没有使用rvm,我强烈建议使用它。为什么rvm非常酷,请参阅here

+0

谢谢。这对我有效。我想知道它是否适用于@philfreo? – Jay 2011-06-13 14:40:05

+0

是的,谢谢。试图在rails 3.0.x上使用mysql2 – philfreo 2011-08-16 05:09:54

相关问题