やったもん勝ち

主にプログラミングのこと。生産性向上の某とかも。

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

しっかりパスを指定しましょう。 当たり前か。。。

これでいけました。