PlayFramework1.2.5でHerokuのPostgreSQLを利用する方法です。

■目次


1.アプリケーションにアドオン追加

HerokuでPostgreSQLを使うには、PostgreSQLのアドオンをアプリに導入します。

  1. ダッシュボードからPostgreSQLを追加したいアプリをクリック
  2. 「Get Add-ons」をクリック
  3. 「Data Stores」グループの中からゾウさんアイコンを探してクリック
  4. 「Plans」から料金プランを選択。今回は無料の「Dev」を選択しました。
  5. 画面の下の方に、PostgreSQLアドオンを追加するアプリを選択できる所があるので、今回新規に作成したアプリを選択。
  6. アプリ選択の横にある「Add Dev for Free」をクリック
    1. 他のプランを選択すると、「Add <プラン> for <料金>」な感じでボタンの名前が変わります。
  7. アプリの「Resoures」タブにゾウさんアイコンが追加されていれば成功です。

2.「/AppRoot/conf/application.conf」ファイルにDB接続用のプロパティ追加

  1. アプリの「Resoures」タブに追加されたゾウさんアイコンをクリック
  2. アプリの一覧がでたら、今回PostgreSQLを追加したアプリをクリック
    1. アプリの一覧が出ない場合もあります。
  3. 画面左端の左右の矢印アイコンをクリック
    1. URLを選択
すると、以下の文字列が表示されます。

postgres://<ユーザー名>:<パスワード>@<ホスト名>:<ポート番号>/<データベース名>
 

この文字列を使って、以下のようなDB接続用のプロパティを作り、「/AppRoot/conf/application.conf」ファイルに書き込みます。
db=postgres://<ユーザー名>:<パスワード>@<ホスト名>:<ポート番号>/<データベース名>
 

2-b.ローカルからHerokuのPostgreSQLに接続して動作確認する場合

ローカルから接続するには、DB接続用プロパティの末尾に「?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory」を追加します。
以下のようにすれば、テストモードでローカルからの接続、DEVモードでHerokuからの接続と使い分けできます。
db=postgres://<ユーザー名>:<パスワード>@<ホスト名>:<ポート番号>/<データベース名>
%test.db=postgres://<ユーザー名>:<パスワード>@<ホスト名>:<ポート番号>/<データベース名>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
 

コメント(バグ、間違い、こんな情報が欲しい等ありましたら)

名前:

アンケート(このページの情報はお役に立ちましたか?)

順位 選択肢 得票数 得票率 投票
1 分かりにくい 0 (0%)
2 役に立たない 0 (0%)
3 役に立った 0 (0%)
4 間違っている 0 (0%)
その他
投票総数 0