Chúng tôi đang phát triển ứng dụng Play 2.4 (Java API).Làm thế nào để sử dụng một đường dẫn liên quan đến gốc của dự án với cấu hình tệp H2 db với Play Framework 2.4?
Vì mục đích phát triển, chúng tôi muốn sử dụng cơ sở dữ liệu H2 liên tục với đường dẫn tệp DB liên quan đến thư mục gốc của dự án.
Trong How to use a persistent H2 database in the Play Framework instead of in-memory đã có giải pháp cho Chơi 2.0:
db.default.url="jdbc:h2:file:data/db"
Tuy nhiên, với Play 2.4 này dường như không làm việc nhưng tôi nhận được thông báo lỗi với ngoại lệ sau ở dưới cùng:
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)
...
Tôi có thể kết nối để làm việc với đường dẫn tuyệt đối và có đường dẫn tương đối với thư mục chính, như sau:
db.default.url="jdbc:h2:file:/Users/foo/data/db"
hoặc
db.default.url="jdbc:h2:~/data/db"
Tuy nhiên, có một số cách để tham khảo các thư mục gốc của dự án?
về 'db.default.url =" jdbc: h2: ./ data/db "'? – Roman
@Roman Dường như làm việc, cảm ơn. Không biết liệu điều đó có thể mong manh không nếu quá trình sẽ được bắt đầu từ thư mục khác nhau theo một cách nào đó. Nhưng đối với việc sử dụng phát triển của chúng tôi thì đây không phải là vấn đề. Bạn có muốn thêm câu trả lời đó làm câu trả lời không? – Touko