2011-05-15 2 views
7

Rails에서 새로운 점. OS X 10.6에서 기본 sqlite3 데이터베이스를 사용하여 간단한 Rails 3 응용 프로그램을 만들었습니다.레일즈 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 

페이지로드 : "액티브 :: ConnectionNotEstablished"

I 모르겠다. 수동으로 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에서는 0.2.x 버전의 mysql2를 사용하십시오.

ps. rvm을 아직 사용하고 있지 않다면 사용하는 것이 좋습니다. rvm이 너무 멋진 이유는 here을 참조하십시오.

+0

감사합니다. 이것은 나를 위해 일했다. @philfreo에서 효과가 있었는지 궁금합니다. – Jay

+0

예, 고마워요. 레일즈 3.0.x에서 mysql2를 사용하려고했다. – philfreo