LoginSignup
7

More than 5 years have passed since last update.

Play! Framework2.0(scala)でherokuのpostgresqlに接続する

Last updated at Posted at 2013-06-09

Play Framework(Scala)でherokuのPostgreSQLに接続する方法をせっかく調べたので記載しておく。
ドキュメント見ながら試行錯誤したので、正しい方法かどうか不明。

誤ってる点があればご指摘頂きたく。。

インストールされているアドオンの確認

heroku addons --app アプリケーションID

=== アプリケーションID Configured Add-ons
heroku-postgresql:dev  HEROKU_POSTGRESQL_BRONZE
heroku-postgresql:dev  HEROKU_POSTGRESQL_CHARCOAL

heroku に postgresqlアドオンがインストールされていることを確認。
インストールされていない場合、以下のコマンドで追加

heroku addons:add heroku-postgresql --app アプリケーションID

データベースのURLの確認

heroku config
DATABASE_URL:                   postgres://XXXXXXXXXXXXX
・・・

DATABASE_URLが表示されることを確認

Procfileの設定

Procfileに以下の内容を記述

web: target/start -Dhttp.port=${PORT} -DapplyEvolutions.default=true -Ddb.default.url=${DATABASE_URL} -Ddb.default.driver=org.postgresql.Driver

application.confにDBのURLを指定

db.default.url="jdbc:postgresql://localhost/XXXXX"
db.default.url=${?DATABASE_URL}

上記のように書くと、環境変数DATABASE_URLがセットされているときdb.default.urlの値が更新される。
ローカルでテストするときdb.default.urlはローカルのURLになり、herokuで動かす時は${DATABASE_URL}
となる。

herokuにpushしてテスト

herokuにgit pushすればよしなにdeployされる

うまくいかないとき

ログを見て何とかする

heroku logs

[その他]サーバ上のpostgre SQLにpsqlコンソールで接続する

heroku pg:psql

但しローカルにpsqlがインストールされていないと実行できない。

参考: https://devcenter.heroku.com/articles/heroku-postgresql

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7