Herokuのrake db:migrateでエラー
Sep 14, 2013Herokuにて、Deploy後に、rake migrateするとエラーで進めなかったのでメモしておきます。
状況
1 2 3 4 5 6 |
$ heroku run rake db:migrate --app appName --trace rake aborted! undefined method `[]' for nil:NilClass /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/tasks/database_tasks.rb:136:in `purge' /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/railties/databases.rake:361:in `block (3 levels) in <top>' </top> |
解決するまでにやったこと
Heroku Postgresを使用しているんですが、作成したものを一度削除し、再度作成しなおしました。
この時点で、エラー内容が変わりました。
1 2 |
$ heroku run rake db:migrate --app appName --trace FATAL: role "roleName" is not permitted to log in (PG::Error) |
configで確認するとDATABASE_URLするとHEROKU_POSTGRESQL_カラー_URLが違っていました。
1 2 3 4 |
$ heroku config --app appName DATABASE_URL: postgres://(AWSの接続) HEROKU_POSTGRESQL_カラー_URL: postgres://(AWSの接続) $ heroku pg:promote HEROKU_POSTGRESQL_カラー_URL --app appName |
この時点では、結局同じエラー”`[]’ for nil:NilClass”になりました。
最後にheroku restartしてPostgreSQLもrestartして接続ができるようになりましたー
でも、どうして、起きたのかはイマイチ不明。。。。
1 2 |
$ heroku restart --app appName --trace $ heroku pg:reset --app appName --trace |
ほかにもいろいろとPaaSのサービスを使用しているんですが、こういう時にBlackBox化するので、やっかいですねー
ちなみに、ログはpapertrailを使用しているんですが、今回の状況だとログをみても原因が追求できませんでした。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0