play framework2.4でDBをリモート環境とローカル環境で分けるときの設定
play framework2.4で
application.confにDB接続設定がありますが、
リモートの環境設定をそこに書いている場合、
ローカル環境のDBを使用するときは、また別に設定しなくてはダメですね。
迂回策①
application.confのDB接続情報をローカル環境のDBにして、
gitignoreでリモートには反映させないで自分の環境だけで反映させるというものです。
しかし、applicationには他にも設定ファイルがあって、その変更が反映されないのはいかがなものかと
ということで、
迂回策②
local.confでapplication.confをimportして、
さらにローカルのDB接続情報を書いて上書きする方法です。
local.conf
include "application.conf" db.default.url="jdbc:mysql://localhost/url db.default.username=root db.default.password=“password" #自分のPCのDBののパスワード
とします。
実行時にlocal.confを指定する
2.3では
[play] -Dconfig.file=local.conf run
だったみたいなのですが、 2.4以降では
[play] run -Dconfig.file=local.conf
とターミナルに入力します。
Oops、これではだめでした。
[play] run -Dconfig.file=conf/local.conf
しっかりパスを指定しましょう。 当たり前か。。。
これでいけました。