[ipboard.rb] 오류: 중복된 키 값이 고유 제약 조건 "import_ids_pkey"을 위반했습니다 (PG::UniqueViolation)

안녕하세요, ipboard.rb를 사용하여 IPB 3.4 포럼을 가져오려 하고 있습니다. 주제(topic) 가져오기 과정에서 다음과 같은 오류가 발생했습니다:

.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:

왠지 뭔가 자명하지 않은 것 같습니다. 제 추측으로는… 음. 사실 가장 유력한 추측도 없습니다.

아마 쿼리가 어떤 방식으로든 해당 토픽을 두 번 반환하고 있는 건 아닐까요? 토픽을 가져오는 쿼리에 .where ID=123을 추가해서 실제로 두 번 가져오고 있는지 확인해 보고, 그 이유를 파악해 보시는 게 좋겠습니다.

ipboard.rb 파일에 추가해야 하나요?

스크립트의 쿼리를 확인하고, 제가 설명한 대로 수동으로 실행해서 결과를 확인해 보겠습니다.

오, 찾았어요! :sunglasses:
해결 방법을 알려주셔서 감사합니다. 이유를 모르겠지만, 문제 있는 주제와 관련된 여러 게시물의 new_topic 필드가 1로 설정되어 있었습니다.

참고: 필드를 수동으로 수정했고, 이제 모든 것이 정상적으로 작동합니다.