在Heroku上更改为MySQL2时出错

时间:2012-05-04 00:20:23

标签: ruby-on-rails-3 heroku mysql2

对于我的Heroku应用程序(Rails 3.1.4和Ruby 1.9.2),我正在尝试更改为使用MySQL2的数据库,但是我收到来自Heroku的错误(这会导致我的应用程序崩溃):

3.1.4/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the mysql12 adapter: `gem install activerecord-mysql12-adapter` (no such file to load -- active_record/connection_adapters/mysql12_adapter) (RuntimeError) EXCEPT

在我的gemfile中,我有:

group :production do
  gem "mysql2", "~> 0.3.11"
end

group :development, :test do
  gem 'mysql', '2.8.1'
end

在我的database.yml中,我有:

development:
  adapter: mysql

production:
  adapter: mysql2

这是我尝试过的失败(所有尝试都在本地和Heroku中正确安装):

  1. 根据这个答案,我试过(在我的gemfile中),mysql2版本"< 0.3"

  2. 对于这个问题的另一个答案,我试过'&lt; 0.3.7'无法正常工作

  3. 我按照answer尝试了宝石“mysql2”,“〜&gt; 0.3.11”,但它没有用

  4. 根据gem的网站,我尝试(在我的gemfile中),mysql2版本"~> 0.2.7",它安装了mysql2 0.2.18(在本地成功并在Heroku中)

2 个答案:

答案 0 :(得分:25)

我很确定你很久以前就已经想到这个或者说过了,但是我遇到了同样的问题并且认为我会分享对我来说对谁有用的东西。

除了上面提到的内容之外,如果您使用的是Heroku,还必须在DATABASE_URL中指定mysql2://而不是mysql://。请参阅此处的ClearDB写入: https://devcenter.heroku.com/articles/cleardb

并更新他们的指令以使用mysql2://而不是mysql://像这样:

heroku config:add DATABASE_URL='mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'

希望有所帮助。

答案 1 :(得分:0)

尝试安装ruby-mysql gem。