안녕하세요, 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번 주제를 삭제하고 스크립트를 다시 실행하니 이제 정상적으로 작동합니다… 하지만 그 주제
와 같은 오류가 발생한 5~6개의 다른 중요한 주제들을 잃어버셨습니다. 무엇이 문제일까요? 이 주제들을 어떻게 가져올 수 있을까요?
감사합니다.
pfaffman
(Jay Pfaffman)
2
아마도 스크립트가 잘못된 ID를 사용하고 있는 걸까요? 아니면 스크립트가 기대하는 버전과 다른 버전에서 실행하고 있는 건 아닐까요?
스크립트를 실행한 뒤, 주제를 삭제하고 다시 실행해 보셨나요?
이 문제는 9개의 주제에서만 발생하고, 나머지는 모두 정상입니다. 그리고 항상 새 데이터베이스로 시작하며, 여러 SQL 백업과 여러 호스트로 확인해 보았습니다. ipboard(인덱스, 데이터베이스 등)에서 오류를 찾지 못했습니다.
이해가 되지 않습니다. 
pfaffman
(Jay Pfaffman)
4
왠지 뭔가 자명하지 않은 것 같습니다. 제 추측으로는… 음. 사실 가장 유력한 추측도 없습니다.
아마 쿼리가 어떤 방식으로든 해당 토픽을 두 번 반환하고 있는 건 아닐까요? 토픽을 가져오는 쿼리에 .where ID=123을 추가해서 실제로 두 번 가져오고 있는지 확인해 보고, 그 이유를 파악해 보시는 게 좋겠습니다.
pfaffman
(Jay Pfaffman)
6
스크립트의 쿼리를 확인하고, 제가 설명한 대로 수동으로 실행해서 결과를 확인해 보겠습니다.
오, 찾았어요! 
해결 방법을 알려주셔서 감사합니다. 이유를 모르겠지만, 문제 있는 주제와 관련된 여러 게시물의 new_topic 필드가 1로 설정되어 있었습니다.
참고: 필드를 수동으로 수정했고, 이제 모든 것이 정상적으로 작동합니다.