Куда поместить датабазу SQLITE3 при развертывании приложения Jruby-on-Rails в качестве войны?
-
12-10-2019 - |
Вопрос
Фон: Я хочу развернуть небольшое применение jruby-on-rails с использованием исполняемой войны камышевок, чтобы я мог просто отбросить. java -jar app.war
.
Приложение использует SQLITE3 для хранения некоторых данных, а Production-DB-файл расположен в Web-Inf/DB в войне.
Каждый раз, когда приложение начинается, Winstone распаковывает войну до температуры, и все действия, выполняемые во время этой сессии, теряются, если приложение запускается во второй раз (потому что производственный DB снова распакована из-за войны).
Итак, как я могу использовать один и тот же DB-файл каждый раз, когда начинается приложение?
Решение
Вы можете либо жестко код абсолютному пути в базе данных. Например:
production:
db: <%= java.lang.System.getProperty('db') %>
Запустить с:
java -Ddb=/path/to/db -jar app.war
Не связан с StackOverflow