Dalam permata saya, saya punya:
gem 'mysql2'
Database.yml saya adalah sebagai berikut:
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
Saya sudah menjalankan keduanya bundle update
dan bundle install
dan Gemfile.lock saya menunjukkan mysql2.
Namun ketika saya menjalankan rake db:migrate
saya mendapatkan ini di komputer saya dan di server staging:
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).
.....
Hanya untuk memastikan tidak ada versi mysql2 yang buruk atau sesuatu, saya melakukannya bundle clean --force
dan berlari bundle install
dan bundle update
lagi dan ketika saya menjalankan gem list
saya melihat mysql2 (0.4.0)
dan tidak ada versi lain.
Setiap ide akan sangat dihargai.
LARUTAN
Saat ini masalah dengan Rails 4.1.x dan 4.2.x, per laporan bug ini , akan diperbaiki pada rilis berikutnya dari rails 4.2.x (kredit untuk dcorr di komentar untuk tautan).
Sementara itu, Anda dapat memperbaikinya dengan melakukan penurunan ke versi 0.3.18 dari mysql2 dengan menambahkan baris ini ke gemfile Anda:
gem 'mysql2', '~> 0.3.18'
mysql2 (0.4.0)
adalah permata ruby versi terbaru akan diambil dan sudah terpasang.
gem 'mysql2', '~> 0.3.18'
di Gemfile.
bundle update mysql2