1

HerokuにAmazonRDSアドオンをインストールし、AmazonAWSでOKインスタンスを作成しました。でも走れない

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として設定される前。

私は初心者です。これはAmazonAWSにデプロイしたい最初のアプリなので、明らかな何かを見逃しているかもしれません。何か案が ?

4

1 に答える 1

1

わかった !忘れていた

gem install activerecord-mysql2-adapter

Herokuのエラーメッセージは、gem install activerecord-mysql-adapter(2なし)を実行するように指示していますが、2を使用すると、完全に機能するようになりました。

この投稿が他の人の役に立つことを願っています。つまり、要約すると、次のことを行う必要があります。1-Herokuのアドオンリンクに「2」を設定します

mysql2://user:pass@mydatabase.us-east-1.rds.amazonaws.com/MyFirstDb

2- Gemfileに行を追加します:

gem 'mysql2', '~> 0.3.11'

3-データベースを変更します.yml

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

4-実行

gem install activerecord-mysql2
heroku run rake db:migrate

そしてお楽しみください!:-)

于 2013-03-15T21:03:46.960 に答える