在我的档案中,我有:

gem 'mysql2'

我的数据库.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 updatebundle install以及我的Gemfile.锁显示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)次,没有其他版本.

任何 idea 都将不胜感激.


解决方案

这是Rails 4.1目前的一个问题.x和4.2.x、 根据这bug report条,它将在rails 4.2的下一版本中修复.x(链接注释中的dcorr).

同时,您可以通过将这一行添加到您的文件中,将mysql2降级到0.3.18版本来进行修复:

gem 'mysql2', '~> 0.3.18'

推荐答案

只是进一步更新-问题的解决方案是正确的.

第四条 comments 值得注意:

这不是mysql2的bug,而是mysql2中的需求问题

我能够将Rails 4.2.4连接到4-2-stable分支,并使用最新的mysql2:

enter image description here

gem 'rails', '~> 4.2.4', git: "git://github.com/rails/rails.git", branch: '4-2-stable'
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] #-> Rails 4.1+

#DB
gem 'mysql2'

Ruby-on-rails相关问答推荐

Rails 6升级没有加载Mongoid,这是一个问题

Rails文档的悲观锁定示例中的争用条件

在Rails中,如何将帮助器方法添加到属性/列?

带有data-turbo的rails`link_to‘未获得turbo_stream请求格式

会话控制器中的某种问题

ArgumentError 用于 Ruby on Rails 中非常简单的初始化方法,没有参数

Rails simple_form 元素与数据-... 刺激的属性?

Rails 3 远程表单:如何指定内容类型?

rake assets:precompile try 连接到数据库

如何在我的 rails 应用程序中测试 ActiveRecord::RecordNotFound?

Rails 4,使用 ActiveRecord 的原始查询

Rails 在关联模型中排序

Rails:参数太少

form_tag 是否与 Simple_form 一起使用?

Ruby on Rails:在模型中验证还是在数据库中验证更好?

Elastic Beanstalk Ruby/Rails 需要安装 git,所以 bundle install 可以工作.. 但不是

我应该将全局共享部分模板放在哪个文件夹中?

在 rails 3 中批量插入

我应该在 Heroku Cedar 上使用薄的还是独角兽

Rails - 邮件,将正文作为纯文本获取