3

我创建了一个简单的“hello”类型的 JRuby 应用程序,并使用 Warbler 进行 WAR,然后部署到 JBoss。但是,使用该应用程序时出现以下错误:

ActiveRecord::JDBCError (The driver encountered an unknown error: java.sql.SQLException: path to '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db/production.sqlite3': '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db' does not exist):

果然,当我深入研究 demo.war 文件时,WEB-INF 目录中缺少 db 目录。db 目录与测试、开发和生产数据库文件一起存在于 app 目录中。

有任何想法吗?

4

1 回答 1

5

通常 db 目录只包含迁移。如果您使用的是 sqlite3,它包含数据库文件,但是由于当您在生产中部署战争时,它会在服务器内部的某处解包并可能在重新部署时被删除,您的数据库文件将随着重新部署而消失。如果文件是只读的,并且您不担心这种考虑,那么您可以通过运行warble config和编辑config/warble.rb并添加dbconfig.dirs数组来轻松添加 db 目录。

于 2011-09-02T19:54:23.707 回答