我创建了一个简单的'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目录中,但还包含测试,开发和生产数据库文件。
有什么想法吗?
答案 0 :(得分:5)
通常,db目录仅包含迁移。如果您正在使用sqlite3,它包含数据库文件,但是因为当您在生产中部署war时,它会在服务器内部的某处解压缩并且可能在重新部署时被删除,您的数据库文件将随着重新部署而消失。如果文件是只读的,并且您不担心这个问题,那么您可以通过运行warble config
并编辑config/warble.rb
并将db
添加到{{1}来轻松添加db目录。数组。