Debian/Redmine:一次升级多个实例

Debian/Redmine:一次升级多个实例

我有多个 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 工具”。

编辑2:

我的环境是默认的 Debian 6.0“Squeeze”安装,并在默认的 libapache2-mod-passenger 上安装了默认的 Redmine(aptitude install redmine)。

我已经使用 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 吗?

相关内容