내 gemfile에는 다음이 있습니다.
gem 'mysql2'
내 database.yml은 다음과 같습니다.
default: &default
adapter: mysql2
database: <%= ENV['db_name'] %>
username: <%= ENV['db_user'] %>
password: <%= ENV['db_pass'] %>
host: <%= ENV['db_host'] %>
pool: 32
socket: <%= ENV['socket'] %>
development:
<<: *default
production:
<<: *default
나는 모두를 실행했습니다 bundle update
및 bundle install
내 Gemfile.lock 쇼 mysql2.
그러나 실행할 때 rake db:migrate
내 컴퓨터와 준비 서버 모두에서이를 얻습니다.
myproject.com(master)$ rake db:migrate
WARNING: Use strings for Figaro configuration. 10000012508 was converted to "10000012508".
WARNING: Use strings for Figaro configuration. 860526407370038 was converted to "860526407370038".
rake aborted!
Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
.....
그냥 만들 수 있는지가, mysql2 또는 무언가의 나쁜 버전이 아니었다 나는하지 않았다 bundle clean --force
및 RAN bundle install
과 bundle update
다시 내가 실행할 때 gem list
내가 볼 mysql2 (0.4.0)
과 다른 버전.
어떤 아이디어라도 가장 감사하겠습니다.
해결책
현재이 버그 보고서에 따라 Rails 4.1.x 및 4.2.x의 문제입니다 . 다음 릴리스의 Rails 4.2.x (링크에 대한 주석에서 dcorr 로의 크레딧)에서 수정 될 것입니다.
그 동안 gemfile에 다음 줄을 추가하여 mysql2 버전 0.3.18로 다운 그레이드하여 수정할 수 있습니다.
gem 'mysql2', '~> 0.3.18'
mysql2 (0.4.0)
루비 보석이 취할 최신 버전이며 이미 설치되어 있습니다.
gem 'mysql2', '~> 0.3.18'
은 Gemfile에 있습니다.
bundle update mysql2