Jan*_*Jan 5 sqlite jruby jrubyonrails warbler winstone
背景:我想使用 warblers 可执行文件 war 部署一个小型 JRuby-On-Rails 应用程序,因此我可以删除 .war 文件,每个人都可以使用 .war 文件运行它java -jar app.war。
应用程序使用sqlite3存储一些数据,production-db-file位于war内的WEB-INF/db。
每次启动应用程序时,winstone 都会将 war 解压到一个临时目录,如果应用程序第二次启动,则在此会话期间执行的所有操作都将丢失(因为生产数据库再次从 war 文件中解压)。
那么如何在每次应用程序启动时使用相同的 db 文件呢?
您可以在 database.yml 中硬编码一个绝对路径,或者添加一些逻辑来从环境变量或系统属性中选择 webapp 之外的路径。例如:
production:
db: <%= java.lang.System.getProperty('db') %>
Run Code Online (Sandbox Code Playgroud)
启动:
java -Ddb=/path/to/db -jar app.war
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |