2011-09-02 5 views
3

Я создал простое приложение типа «привет» типа JRuby и использую Warbler для WAR, а затем разворачиваю его в JBoss. Тем не менее, я получаю следующее сообщение об ошибке при использовании приложения:Почему каталог db не включен в JRuby WAR при использовании Warbler?

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 существует в каталоге приложения, хотя вместе с файлами базы данных испытаний, разработки и производства.

Любые идеи?

ответ

5

Обычно каталог db содержит только миграции. Если вы используете sqlite3, он содержит файл базы данных, но с тех пор, как вы развертываете войну в производстве, она распаковывается где-то на внутренней стороне сервера и потенциально удаляется при повторном развертывании, ваш файл базы данных будет удален с повторным развертыванием. Если файл доступен только для чтения, и вас это не беспокоит, вы можете легко добавить каталог db, запустив warble config и отредактировав config/warble.rb и добавив db в массив config.dirs.

+0

Это сработало. Спасибо, Ник. – ryan