增加内部 redmine 计数器

Increment internal redmine counters

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

问题是,当我在我的新 redmine 实例上创建一些新东西时(例如:一个新问题),redmine 有内部计数器来在它的数据库中插入新元素,由于 ID 已经导致主键冲突存在于我的旧 redmine 数据库中。

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

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

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

就是下面的命令:

bundle exec rake db:migrate RAILS_ENV=production

如果你安装了任何插件,你还应该运行他们的数据库迁移:

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

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

对于每个 table,都有一个特殊的计数器在插入时生成这些 ID。对于 MySQL,你 can set the AUTO_INCREMENT value of a table. For Postgres, you have to adapt the sequence for the table's primary key using setval.

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