2013-03-15 65 views
1

我在Heroku中安装了Amazon RDS插件,并在Amazon AWS中创建了一个OK实例。但是,我不能运行Heroku安装Amazon RDS:mysql或mysql2?

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:[email protected]/databasename 

从那时起,我打与Mysql2。首先,我在Heroku上注意到,它是指向

mysql://user:[email protected]/MyFirstDb 

是否正常,有没有喜欢mysql2://用户?我添加了它。我改变了我的Gemfile与

​​

和我的database.yml与

production: 
adapter: mysql2 
database: db/production.mysql2 

之前它被设置为sqlite3的。

我是新手,这是我想要部署到亚马逊AWS的第一个应用程序,所以我可能会错过显而易见的东西!任何想法 ?

回答

1

我明白了!我忘了

gem install activerecord-mysql2-adapter 

在Heroku的错误消息说,运行安装了activerecord-mysql的适配器(不含2),但与2,它完美地现在工作!

我希望这篇文章能帮助别人。所以,总结一下,这里是你需要做什么: 1设置为“2”,在附加链接中的Heroku

mysql2://user:[email protected]/MyFirstDb 

2-行添加到您的Gemfile:

gem 'mysql2', '~> 0.3.11' 

3-更改您的database.yml

production: 
adapter: mysql2 
database: db/production.mysql2 

4-运行

gem install activerecord-mysql2 
heroku run rake db:migrate 

享受! :-)