Play Framework 2.1 で SQLite を使用しようとしていますが、Play アプリケーションのルートからの相対パスを使用する必要があります。どうすればいいですか?
これは、application.conf 内の関連コードです。
db.default.driver=org.sqlite.JDBC
db.default.url="jdbc:sqlite:/I/want/relative/path/"
どうもありがとう。
Play Framework 2.1 で SQLite を使用しようとしていますが、Play アプリケーションのルートからの相対パスを使用する必要があります。どうすればいいですか?
これは、application.conf 内の関連コードです。
db.default.driver=org.sqlite.JDBC
db.default.url="jdbc:sqlite:/I/want/relative/path/"
どうもありがとう。
Play アプリケーションのルートにデータベースを作成する場合は、次のようにする必要があります。
db.default.url="jdbc:sqlite:sqlite_test.db"
のようなフォルダで make database を使いたい場合は<PlayAppRootDirectory>/database/db_name.db
、設定値にフル絶対パスを指定する必要があると思います。
別の方法として、Play アプリケーションのルート ディレクトリの環境変数を定義し、その値を on で使用することもできますapplication.conf
。
Play!Framework 2.xは、構成ファイルの構文としてHOCON形式 (Human-Optimized Config Object Notation) を使用します。
データベースのパスとして Play!Framework ルート フォルダーを使用する場合は、次のようにする必要があります。
db.default.driver=org.sqlite.JDBC
# The following line use HOCON format
db { default.url : "jdbc:sqlite:"${PLAY_APPS_ROOT}"/database/db_name.db" }
上記の構成値は、HOCON 構文を使用します。Play!Framework アプリケーションのルート フォルダー${PLAY_APPS_ROOT}
の環境変数であることに注意してください。完全な絶対パスでデータベース パスを定義する必要があるため、データベース パスは実際には絶対パスです。参照用に次のリソースを読むことができます。