PlayFramework1.2.5でHerokuのPostgreSQLを利用する方法です。
■目次
1.アプリケーションにアドオン追加
HerokuでPostgreSQLを使うには、PostgreSQLのアドオンをアプリに導入します。
- ダッシュボードからPostgreSQLを追加したいアプリをクリック
- 「Get Add-ons」をクリック
- 「Data Stores」グループの中からゾウさんアイコンを探してクリック
- 「Plans」から料金プランを選択。今回は無料の「Dev」を選択しました。
- 画面の下の方に、PostgreSQLアドオンを追加するアプリを選択できる所があるので、今回新規に作成したアプリを選択。
- アプリ選択の横にある「Add Dev for Free」をクリック
- 他のプランを選択すると、「Add <プラン> for <料金>」な感じでボタンの名前が変わります。
- アプリの「Resoures」タブにゾウさんアイコンが追加されていれば成功です。
2.「/AppRoot/conf/application.conf」ファイルにDB接続用のプロパティ追加
- アプリの「Resoures」タブに追加されたゾウさんアイコンをクリック
- アプリの一覧がでたら、今回PostgreSQLを追加したアプリをクリック
- アプリの一覧が出ない場合もあります。
- 画面左端の左右の矢印アイコンをクリック
- 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
コメント(バグ、間違い、こんな情報が欲しい等ありましたら)
アンケート(このページの情報はお役に立ちましたか?)
最終更新:2013年05月26日 14:10