5

对于我的 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. 根据该问题的另一个答案,我尝试了 '< 0.3.7' 但这不起作用

  3. 我根据这个答案尝试了 gem "mysql2", "~> 0.3.11" ,但它没有用

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

4

2 回答 2

30

我相信你很久以前就已经解决了这个问题或继续前进,但我遇到了同样的问题,并认为我会与其他任何人分享对我有用的东西。

除了上面提到的内容,如果您使用 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'

希望有帮助。

于 2012-08-20T21:15:32.497 回答
0

尝试安装ruby-mysqlgem。

于 2012-05-04T03:51:34.897 回答