ActiveRecord::RecordNotUnique on idx_tag_users_ix1: 修正方法は?

SSO Broken - The requested URL or resource could not be found からの議論を続けます。

同様の問題があります。

ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "idx_tag_users_ix1"

重複キーを削除する方法について何かアイデアはありますか?

タグの大文字と小文字が混在している(tagTag の両方がある)ことが原因だと思います。

これは再構築時、あるいは別のタイミングで発生していますか?

対処法としては、インデックスの再構築を試してみて、タグの大文字・小文字を修正するか(もしそれが原因であれば)、あるいは重複エントリのどちらかを削除することだと思います。

うーん、ほとんどの場合そうではありません。

Tag.all.pluck(:name)
=> ["welcome",
 "faq",
 "sysadmin",
 "offdem-0x03",
 "reference",
 "tutorial",
 "local-organization",
 "collective-data",
 "power-relations",
 "offdem-topic",
 "offdem-0x00",
 "offdem-0x01",
 "offdem-0x02",
 "discourse-plugin",
 "page",
 "how-to",
 "about",
 "offdem-0x04"]

どうやら今月初めに現れたようです。アップグレードの後だと思います。

重複タグを削除する方法がわかりませんが、削除できました。

TagUser.all.where(user_id: 80, tag_id:2).last.destroy

重複するタグごとに(手動で実行しました)。

ジェイさん、ありがとうございます!

症状は解消されたものの、原因は全く不明です。

:thinking: タグのグループ通知が遡及的に適用された場合、既存のエントリを確認しないのではないかと疑っています @pfaffman

これらの重複した「whatever」の問題では、通常そのようなものです。