У меня несколько экземпляров Redmine. Назовем их InstanceA и InstanceB. InstanceA и InstanceB используют одну и ту же установку Redmine в Debian. Предположим, я хочу установить Redmine 1.3 на оба экземпляра, как мне это сделать?
После обновления основных файлов мне пришлось бы перенести базы данных. Что я хотел бы знать: могу ли я перенести все базы данных одним действием?
Обычно я бы сделал что-то вроде:
rake -s db:migrate RAILS_ENV=production X_DEBIAN_SITEID=InstanceA
для каждого экземпляра, но это будет утомительно, если у вас будет 50+ экземпляров.
Заранее спасибо!
Редактировать:
В файле README.Debian из пакета (Debian) Redmine указано:
SUPPORTS SETUP AND UPGRADES OF MULTIPLE DATABASE INSTANCES
This redmine package is designed to automatically configure database
BUT NOT the web server.
The default database instance is called "default".
A debconf facility is provided for configuring several redmine
instances. Use dpkg-reconfigure to define the instances identifiers.
Но не могу понять, что делать с "средством debconf".
Edit2:
Моя среда - это установка Debian 6.0 "Squeeze" по умолчанию с установкой Redmine по умолчанию (aptitude install redmine) на libapache2-mod-пассажира по умолчанию.
Я установил два экземпляра с помощью dpkg-reconfigure redmine.
for i in $(cat file-with-instance-names-in-it) ; do rake -s db:migrate RAILS_ENV=production X_DEBIAN_SITEID=$i ; done
я мощь решил мою проблему.
Команда
dpkg-reconfigure --frontend=noninteractive redmine
похоже, переносит все экземпляры без ввода пользователя. Команда вызывает:
rake db:migrate_plugins RAILS_ENV=production
поэтому кажется правдоподобным, что он также вызывает:
rake db:migrate RAILS_ENV=production
Я успешно перенес все экземпляры Redmine 1.0 ("Squeeze") в 1.2 ("Wheezy").
Изменить: я хотел бы знать, правильный ли это путь. Может ли кто-нибудь подтвердить, что он вызывает rake db: migrate?