2011-05-15 40 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

相關問題