Почему каталог db не включается в JRuby WAR при использовании Warbler?

Я создал простое приложение JRuby типа «hello» и использую 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, каталог db отсутствует в каталоге WEB-INF. Каталог db существует в каталоге приложения вместе с файлами тестовых, разрабатываемых и производственных баз данных.

Любые идеи?


person ryan    schedule 02.09.2011    source источник


Ответы (1)


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

person Nick Sieger    schedule 02.09.2011