增加内部redmine计数器

时间:2016-03-09 15:52:29

标签: database redmine

我将当前的redmine数据库内容迁移到另一台服务器上的新redmine实例,并使用自己的数据库。

问题在于,当我在我的新redmine实例上创建新内容时(例如:一个新问题),redmine有内部计数器在其数据库中插入新元素,这最终导致主键冲突,因为ID已经存在我的旧redmine数据库。

我通过尝试多次创建新元素以增加内部计数器并避免主键冲突来解决这个问题。

有谁知道解决此问题的正确方法?特别是当我必须处理数据库中数百万个现有ID时?

2 个答案:

答案 0 :(得分:1)

Redmine无法处理这些主键ID。它们由您的数据库生成。

对于每个表,都有一个特殊的计数器用于在插入时生成这些ID。对于MySQL,您can set表的AUTO_INCREMENT值。对于Postgres,您必须使用setval调整表格主键的顺序。

通常,在将数据库从一个数据库服务器移动到另一个数据库服务器时,应确保保留AUTO_INCREMENT或序列值。常见的转储工具有选项。

答案 1 :(得分:0)

当Redmine数据库在两台服务器之间移动时,如果版本不同,则需要执行数据库升级:

以下命令:

bundle exec rake db:migrate RAILS_ENV=production

如果您已安装任何插件,则还应运行其数据库迁移:

bundle exec rake redmine:plugins:migrate RAILS_ENV=production