Wir entwickeln eine Play 2.4-Anwendung (Java API).Wie wird ein Pfad relativ zum Projektstamm zur H2 db-Dateikonfiguration mit Play Framework 2.4 verwendet?
Für Dev-Zwecke möchten wir eine persistente H2-Datenbank mit DB-Dateipfad relativ zum Projektstammverzeichnis verwenden.
In How to use a persistent H2 database in the Play Framework instead of in-memory gab es Lösung für Play 2.0:
db.default.url="jdbc:h2:file:data/db"
jedoch mit Play 2.4 dies nicht zu funktionieren scheint, aber ich bekomme Fehlermeldung mit folgenden Ausnahme an der Unterseite:
Caused by: org.h2.jdbc.JdbcSQLException: A file path that is implicitly
relative to the current working directory is not allowed in the database
URL "jdbc:h2:file:data/db". Use an absolute path, ~/name, ./name, or the
baseDir setting instead. [90011-187]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
...
Ich könnte Verbindung mit einem absoluten Pfad und mit einem Pfad relativ zum Home-Verzeichnis wie folgt erhalten:
db.default.url="jdbc:h2:file:/Users/foo/data/db"
oder
db.default.url="jdbc:h2:~/data/db"
Allerdings ist es eine Möglichkeit, um den Projekt-Stammordner zu beziehen?
Wie wäre es mit 'db.default.url =" jdbc: h2: ./ data/db "'? – Roman
@Roman Scheint zu arbeiten, danke. Ich weiß nicht, ob das fragil sein könnte, wenn der Prozess von einem anderen Verzeichnis aus gestartet würde. Aber für unsere Entwicklung ist dies kein Problem. Möchten Sie das als Antwort hinzufügen? – Touko