Play2.2でHerokuを利用する際、postgresqlへの接続にハマったのでメモ。
HerokuのpostgrtesqlアドオンはSSLで接続することが前提となっているので、db.XXX.urlに対して以下のように設定する必要がある。
この点は、調べた限りではherokuのドキュメントにもplayのドキュメントにも触れられていないっぽいので要注意。
application.conf(もしくはそれ以外のconfファイル)に以下のようにDB設定を行う。
ポイントは、urlに対して ssl=true
と sslfactory=org.postgresql.ssl.NonValidatingFactory
のパラメータを付けること。
db.default.url="jdbc:postgresql://<HOST>:5432/<DB_NAME>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory"
db.default.user="<ROLE_NAME>"
db.default.password="<PASSWORD>"
参考
playframework - Postgresql with Play Framework - Stack Overflow