今日、heroku で padrino (0.11.2) アプリケーションを実行するのに問題がありました。返されたエラーは、接続 URL が機能していないことを示唆していました。
2013-06-20T12:55:59.040527+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:12:in `new': +options+ should be Hash or Addressable::URI or String, but was NilClass (ArgumentError)
しかし、私は頭を悩ませ、この記事 ( https://devcenter.heroku.com/articles/config-vars ) を読み、コンソールで環境変数を確認するまで、問題が何であるかを理解できませんでした:
> heroku config
=== myapp Config Vars
HEROKU_POSTGRESQL_COBALT_URL: postgres://blah blah blah...
これに気づいて、database.db の DATABASE_URL 定数を HEROKU_POSTGRESQL_COBALT_URL に変更したところ、すべてがうまくいきました。ドキュメントは古くなっていますか?例えば:
- https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-ruby
- http://www.padrinorb.com/guides/blog-tutorial
何かが変わったのですか、それともどこかで何かを台無しにしましたか? - アプリをデプロイすると、heroku が database.yml ファイルを自動的に作成することに気付きましたが、padrino がそれを使用するとは思いません。