我正在尝试使用Scala和Slick的Play框架进行数据访问。
我正在玩play-scala-intro示例应用。我正在尝试设置自己的数据库,而不是使用内存H2数据库中的捆绑。
我无法弄清楚如何指定数据库文件的路径。
如果application.conf中的代码为:
slick.dbs.default.db.url="jdbc:sqlite:/test.db"
slick.dbs.default.db.driver="org.sqlite.JDBC"
我的test.db文件应放在哪里?
这是否意味着test.db文件应该位于Web应用程序的主目录中,这意味着root play-scala-intro目录或app / assets目录?
答案 0 :(得分:0)
我会说你的数据库存储在Java资源中(而assets
最终会这样)对我来说听起来不是一个好主意。如果没有出现任何问题,我会感到惊讶。写信给DB。
最好将它放在与JAR相同的目录中,甚至更好地设置一些默认值并让它们被覆盖:
database.location="test.db"
database.location=${?DBLOCATION}
slick.dbs.default.db.url="jdbc:sqlite:"${database.location}
这应该假设您的数据库名称为test.db
并放在工作目录中(请参阅:https://stackoverflow.com/a/21061029/1305121)。它可以使用环境变量DBLOCATION
覆盖,如:
export DBLOCATION="/tmp/my/database.db"
# run Play application