मेरे रत्न में मेरे पास है:
gem 'mysql2'
मेरा डेटाबेस इस प्रकार है:
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)
और कोई अन्य संस्करण नहीं।
किसी भी विचार सबसे सराहना की जाएगी।
उपाय
वर्तमान में यह बग 4.1.x और 4.2.x के साथ एक समस्या है, इस बग रिपोर्ट के अनुसार , यह रेल की अगली रिलीज में 4.2.x (लिंक के लिए टिप्पणियों में डीसीआर करने का श्रेय) तय किया जाएगा।
माध्य समय में आप mysql2 के संस्करण 0.3.18 को डाउनग्रेड कर अपनी लाइन को अपने अल्फ़ाज़ में जोड़कर ठीक कर सकते हैं:
gem 'mysql2', '~> 0.3.18'
mysql2 (0.4.0)
वह सबसे नया संस्करण रूबी रत्न लेगा और यह पहले से स्थापित है।
gem 'mysql2', '~> 0.3.18'
जेमफाइल में।
bundle update mysql2