# \[ipboard.rb\] エラー: 重複キーの値が一意性制約 "import\_ids\_pkey" に違反しています (PG::UniqueViolation)

**URL:** https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492
**Category:** Migration
**Created:** [2021 年 11 月 7 日午後 6:54 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492 "2021-11-07T18:54:29Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![t-e-d-d-y](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/t-e-d-d-y/32/238945_2.png) [@t-e-d-d-y](https://meta.discourse.org/u/t-e-d-d-y)
#### Post date: [2021 年 11 月 7 日午後 6:54 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/1 "2021-11-07T18:54:29Z")

</div>

こんにちは。_ipboard.rb_ を使用して IPB 3.4 フォーラムをインポートしようとしていますが、トピックのインポートでこのエラーが発生しました。

```plaintext
.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 のトピックを削除してスクリプトを再度実行したところ、問題は解決しましたが、トピックが失われてしまいました 😭。同じエラーで他にも 5 ～ 6 の重要なトピックも失われました。何が間違っているのでしょうか？これらのトピックをインポートするにはどうすればよいですか？

よろしくお願いします。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021 年 11 月 8 日午前 12:02 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/2 "2021-11-08T00:02:20Z")

</div>

スクリプトが間違ったIDを使用しているのではないでしょうか？あるいは、現在使用しているバージョンがスクリプトの想定と異なるということはありませんか？

スクリプトを実行してからトピックを削除し、再度実行しようとしたということはありませんよね？

---

<div class="post-metadata">

### Author: ![t-e-d-d-y](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/t-e-d-d-y/32/238945_2.png) [@t-e-d-d-y](https://meta.discourse.org/u/t-e-d-d-y)
#### Post date: [2021 年 11 月 8 日午後 4:28 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/3 "2021-11-08T16:28:26Z")

</div>

9つのトピックでのみこの問題が発生し、他はすべて正常です。常にデータベースを新規インストールから開始し、さまざまなSQLバックアップやさまざまなホストで確認しました。IPBoard（index、databaseなど）にエラーは見つかりませんでした。  
理解できません。 😕

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021 年 11 月 8 日午後 4:35 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/4 "2021-11-08T16:35:27Z")

</div>

あまり明白ではないことのように聞こえます。私の最善の推測は、. . . そうですね、最善の推測はありません。

クエリが何らかの方法でそれらのトピックを 2 回返しているのではないでしょうか？トピックを取得しているクエリに `.where ID=123` を追加して、それが何らかの方法で 2 回取得されているかどうかを確認し、その理由を突き止めてみてはいかがでしょうか。

---

<div class="post-metadata">

### Author: ![t-e-d-d-y](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/t-e-d-d-y/32/238945_2.png) [@t-e-d-d-y](https://meta.discourse.org/u/t-e-d-d-y)
#### Post date: [2021 年 11 月 8 日午後 5:29 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/5 "2021-11-08T17:29:56Z")

</div>

[ipboard.rb](https://github.com/discourse/discourse/blob/main/script/import_scripts/ipboard.rb) ファイルに追加すべきですか？

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021 年 11 月 8 日午後 11:53 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/6 "2021-11-08T23:53:01Z")

</div>

スクリプト内のクエリを確認し、説明したとおりに手動で実行して、結果を確認します。

---

<div class="post-metadata">

### Author: ![t-e-d-d-y](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/t-e-d-d-y/32/238945_2.png) [@t-e-d-d-y](https://meta.discourse.org/u/t-e-d-d-y)
#### Post date: [2021 年 11 月 9 日午前 8:38 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/7 "2021-11-09T08:38:05Z")

</div>

わかりました、見つけました！🕶  
解決策を教えていただきありがとうございます。なぜだかわかりませんが、問題のあるトピックに関連するいくつかの投稿で `new_topic = 1` というフィールドが設定されていました。

 ![Screenshot 2021-11-09 at 09-20-43 Sélectionner ipb_posts - db - Adminer](https://global.discourse-cdn.com/meta/original/3X/d/b/dbc613f8593ee37fce13b351e6779a6d9392572e.png)

注：フィールドを手動で編集したところ、すべて問題なくなりました。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2021 年 12 月 9 日午前 8:38 UTC](https://meta.discourse.org/t/ipboard-rb-error-duplicate-key-value-violates-unique-constraint-import-ids-pkey-pg-uniqueviolation/208492/8 "2021-12-09T08:38:19Z")

</div>

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