我在 Heroku 中安装了 Amazon RDS 插件,并在 Amazon AWS 中创建了一个实例。但我不能跑
heroku run rake db:migrate
它以
(...)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
rake aborted!
undefined method `accept' for nil:NilClass
/app/vendor/bundle/ruby/1.9.1/gems/activerecord- 3.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `to_sql'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:38:in `select_values'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.11/lib/active_record/migration.rb:587:in `get_all_versions'
当我创建我的实例时,我按照 Heroku 的说明进行操作:
$ heroku addons:add amazon_rds url=mysql2://user:pass@rdshostname.amazonaws.com/databasename
从那以后,我一直在与 Mysql2 战斗。首先我在 Heroku 中注意到它指向
mysql://user:pass@mydatabase.us-east-1.rds.amazonaws.com/MyFirstDb
没有像 mysql2://user 这样的 2 正常吗?我添加了它。我改变了我的 Gemfile
gem 'mysql2', '< 0.3.7'
和我的database.yml
production:
adapter: mysql2
database: db/production.mysql2
在它被设置为 sqlite3 之前。
我是新手,这是我想部署到亚马逊 AWS 的第一个应用程序,所以也许我错过了一些明显的东西!任何的想法 ?