5

我正在尝试将 RDS 数据库与我的 rails 应用程序一起使用,因为最终我想将它放在 heroku 上。(数据库大约 10GB)。我无法连接它,但它似乎正在工作。如果我进入控制台,我可以运行 sphinx 搜索和我需要的所有东西,但是当我启动服务器时,它似乎会冻结或其他什么。如果我单击“关于您的应用程序的环境”,则不会发生任何事情。我没有在控制台或任何东西中收到任何消息。如果我尝试转到另一个页面,它只会尝试加载该页面但不会去任何地方。

这是我的 database.yml 的样子。

# development:
#   adapter: postgresql
#   encoding: unicode
#   database: musicbrainz_post
#   pool: 5
#   username: postgres
#   password:

development:
  adapter: mysql2
  #encoding: utf8
  host: musicbrainz.somestuff.amazonaws.com
  #port: 3306
  #reconnect: false
  database: musicbrainz
  username: myusername
  password: mypass

如果我注释掉我的旧数据库配置,它就会工作并且页面加载和一切。但我想使用亚马逊数据库。

有人知道为什么是这样吗?还是我应该使用另一个数据库/主机?

任何帮助都会很棒!

4

1 回答 1

4

在遇到同样的问题后,我发现了问题所在。问题是您需要使用 Ruby 1.9.3 而不是 Ruby 1.8.7。我认为该错误发生在 mysql2 gem 中。

因此修复方法是安装 Ruby 1.9.3。以下是我遵循的步骤:

注意:在开始任何这些步骤之前,请将您的终端设置为“将命令作为登录 shell 运行”。对于 Ubuntu,打开终端转到 Edit -> Profile Preferences。转到“标题和命令”。选中“将命令作为登录 shell 运行”旁边的框

  1. 在我的系统上安装了RVM,捆绑了 ruby​​ 和 ruby​​ on rails:https ://rvm.io/rvm/install/命令:\curl -L https://get.rvm.io | bash -s 稳定 --rails
  2. 命令:source ~/.rvm/scripts/rvm
  3. 使用 RVM 安装 OpenSSL: rvm pkg install openssl
  4. 重新安装所有红宝石: rvm reinstall all --force
  5. 因为您现在使用 RVM 来管理您的红宝石和宝石,所以您的宝石环境将是新的。因此,您必须重新安装所有 gem。通过转到您的项目并运行来执行此操作: bundle install
  6. 运行您的 rails 应用程序: bundle exec rails s

祝你好运!

于 2012-10-06T01:56:43.073 回答