Capistrano развертывает базу данных Wipes?

Мне удалось развернуть свое приложение в рабочей среде с помощью Capistrano, но я не понимаю, как работать с моей базой данных. Я использую subversion и пассажир.

Когда я запускаю cap deploy, новое развертывание запускает все заново. Он стирает данные, которые были добавлены в базу данных. Очевидно, должно быть решение, но я очень удивлен, что не нашел в Интернете ничего о том, как с этим бороться. Я прочитал документацию Capistrano и множество руководств.

Лучшее, что я могу найти, это книги рецептов Advanced Rails, в которых говорится о помещении пользовательского контента в общий каталог, но это не совсем по делу.

Как вы работаете со своей базой данных при развертывании с помощью Capistrano?


person MikeH    schedule 20.10.2009    source источник
comment
Как ваша база данных? SQLite?   -  person Damien MATHIEU    schedule 20.10.2009


Ответы (1)


Скорее всего, вы используете SQLite и храните базу данных в расположении по умолчанию. Ваша база данных не удаляется, просто остается больше.

Вам нужно отредактировать файл database.yml и сообщить ему, чтобы ваша производственная база данных хранилась в общем расположении "../../shared/database.yml" или аналогичном (возможно, вам лучше использовать абсолютный путь или для бонусных баллов MySQL).

Когда вы развертываете через capistrano, создается новая копия вашего приложения в каталоге с отметкой времени. Ваша база данных остается в старом каталоге с отметкой времени.

person cwninja    schedule 20.10.2009
comment
Ах! Хорошо, да, я собирался переключиться на mysql, но я использовал sqlite для разработки и впервые развернул его с помощью sqlite. Похоже пора переходить на mysql. Спасибо. - person MikeH; 20.10.2009
comment
Перешел на mysql, все отлично работает. В этом была проблема. - person MikeH; 21.10.2009
comment
хе-хе, бонусные баллы за mysql... или бонусные баллы за лень! sqlite фтв! - person Danny; 23.06.2013