2011-05-15 30 views
7

Rails'de yepyeni. Varsayılan sqlite3 veritabanını kullanarak OS X 10.6'da basit bir Rails 3 uygulaması vardı.Sorun Giderme Raylar 3 MySQL ile çalışmak

Yüklemiş olduğum MySQL sunucusunu kullanmak için bunu dönüştürmeye çalışıyorum. (mysql5 -uroot çalışır.) Yüklediğim mysql2 kullanmak istiyorum ve başarılı olduğunu söyledi.

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' 

diğer bilgiler: ile

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

sayfa yüklemeleri: "ActiveRecord :: ConnectionNotEstablished"

ben emin değilim myproject veritabanını kendim el ile oluşturmam gerekiyorsa veya yapmamam gerekiyorsa. Ne olursa olsun, her iki yolu da denedim.

alıyorum: Ben mücevher yüklemeyi denedi

$ 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 

bazı very similar questions okumasını, herkes sadece veritabanı emin yapıyor için sorunu çözer neyi görünüyor. yml bağdaştırıcısı mysql2 diyor.

cevap

5

bunu kullanın Gemfile içinde ... Zaten bu olsa yaptık ve yardım etmedi:

gem 'mysql2','0.2.7' 

Sonra bundle install.

Mysql2 sürüm 0.3.x sürümünün Rails 3.1.x için olduğunu unutmayın. Rails 3.0.x için, mysql2'nin 0.2.x sürümünü kullanın.

Ps. Zaten rvm kullanmıyorsanız, bunu kullanmanızı tavsiye ederim. Neden rvm çok havalı olduğu için here'a bakın.

+0

Teşekkürler. Bu benim için çalıştı. @philfreo için çalışıp çalışmadığını merak ediyorum? – Jay

+0

evet, teşekkürler. mysql2 ray 3.0.x üzerinde kullanmaya çalışıyordu – philfreo