私の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、実行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)Ruby Gemが取得する最新バージョンであり、すでにインストールされています。
gem 'mysql2', '~> 0.3.18'Gemfileで。

bundle update mysql2