[ipboard.rb] ERROR: 重复键值违反唯一约束 "import_ids_pkey" (PG::UniqueViolation)

您好,我正在尝试使用 ipboard.rb 导入 IPB 3.4 论坛,我在导入主题时遇到了这个错误:

.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:56:in `exec': ERROR:  duplicate key value violates unique constraint \"import_ids_pkey\" (PG::UniqueViolation)
DETAIL:  Key (val)=(discussion#2264) already exists.

我从 SQL 数据库中删除了 2264 主题并重新运行了脚本,现在可以了……但我丢失了该主题 :sob: 以及其他 5 或 6 个具有相同错误的重要主题。哪里出错了?我该如何导入这些主题?

谢谢。

也许脚本使用了错误的 ID?或者你当前的版本不是脚本所期望的版本。

你是不是先运行了脚本,然后删除了主题,再尝试重新运行它?

我只遇到了 9 个主题的这个问题,其他一切都正常,而且我总是从全新的数据库安装开始,并用不同的 SQL 备份和不同的主机进行了检查。在 ipboard(索引、数据库等)中没有发现错误。
我不明白。 :confused:

1 个赞

听起来有些不明显。我最好的猜测是……嗯。我没有最好的猜测。

也许查询以某种方式返回了两次这些主题?您可以尝试在获取主题的查询中添加 .where ID=123 来查看它是否以某种方式获取了两次,然后找出原因。

是否应将其添加到 ipboard.rb 文件中?

我会在脚本中查看查询并手动执行,正如我所描述的那样,看看结果是什么。

好的,我找到了! :sunglasses:
感谢您将我引向解决方案。你看,我不知道为什么,但有几个与问题主题相关的帖子将字段 new_topic 设置为了 1。

注意:我已经手动编辑了这些字段,现在一切都正常了。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.