![Debian/Redmine: обновление нескольких экземпляров одновременно](https://rvso.com/image/567643/Debian%2FRedmine%3A%20%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85%20%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%BE%D0%B2%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE.png)
У меня есть несколько экземпляров 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 facility».
Редактировать2:
Моя среда представляет собой стандартную установку Debian 6.0 «Squeeze» с установленным по умолчанию Redmine (aptitude install redmine) на стандартном libapache2-mod-passenger.
Я настроил два экземпляра с помощью dpkg-reconfigure redmine.
решение1
for i in $(cat file-with-instance-names-in-it) ; do rake -s db:migrate RAILS_ENV=production X_DEBIAN_SITEID=$i ; done
решение2
ямощьрешил свою собственную проблему.
Команда
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?