开发者

Where to put the sqlite3-database when deploying a JRuby-On-Rails App as a war?

开发者 https://www.devze.com 2023-01-31 19:32 出处:网络
Background: I want to deploy a small JRuby-On-Rails-Application using warblers executable war, so I can just drop the .war-file and everyone can run it with java -jar app.war.

Background: I want to deploy a small JRuby-On-Rails-Application using warblers executable war, so I can just drop the .war-file and everyone can run it with java -jar app.war.

The application uses sqlite3 to store some data, and 开发者_开发问答the production-db-file is located at WEB-INF/db inside the war.

Every time the app is started, winstone unpacks the war to a temp-directory, and all actions performed during this session are lost if the application is started the second time (because the production-db is unpacked again from the war-file).

So how can I use the same db-file every time the app ist started?


You could either hard-code an absolute path in the database.yml, or add some logic to either pick a path outside of the webapp from an environment variable or a system property. For example:

production:
  db: <%= java.lang.System.getProperty('db') %>

Launch with:

java -Ddb=/path/to/db -jar app.war
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号