我有多个Redmine实例。 我们称它们为InstanceA和InstanceB。 InstanceA和InstanceB在Debian上共享相同的Redmine安装。 假设我想要在两个实例上安装Redmine 1.3,我该怎么做?
升级核心文件后,我将不得不迁移数据库。 我想知道的是:我可以通过单个操作迁移所有数据库吗?
通常我会做这样的事情:
rake -s db:migrate RAILS_ENV=production X_DEBIAN_SITEID=InstanceA
对于每个实例,但是如果你有50多个实例,这将是乏味的。
提前致谢!
编辑:
(Debian)Redmine包中的README.Debian文件指出:
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”安装,在默认的libapache2-mod-passenger上安装默认的Redmine(aptitude install redmine)安装。
我已经用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
似乎迁移所有实例没有用户input。 该命令调用:
rake db:migrate_plugins RAILS_ENV=production
所以它似乎也可以调用:
rake db:migrate RAILS_ENV=production
我成功地将所有Redmine 1.0实例(“Squeeze”)迁移到1.2(“Wheezy”)。
编辑:我想知道这是否正确的路要走。 任何人都可以确认它调用耙数据库:迁移?