기존 서버가 표준 설치 환경이 아닌 것 같습니다. 어쨌든, 간략히 설명하자면: 기존 서버의 인덱스가 수년간의 사용 과정에서 손상되었습니다(이것은 OS 업그레이드 후에 발생할 수 있습니다). 이로 인해 incoming_referers 테이블에 동일한 두 행이 들어갔습니다. 백업은 이 데이터를 그대로 복사하고, 새 서버는 이를 거부합니다. 따라서 먼저 기존 서버에서 문제를 수정한 뒤, 새 백업을 만들어야 합니다.
기존 서버에서 Rails 콘솔을 열기 위해 다음을 실행하세요:
./launcher enter app
rails c
그런 다음 다음 줄들을 순서대로 붙여넣으세요:
db = ActiveRecord::Base.connection.current_database
DB.exec("DELETE FROM incoming_referers a USING incoming_referers b WHERE a.id > b.id AND a.path = b.path AND a.incoming_domain_id = b.incoming_domain_id")
DB.exec("REINDEX DATABASE #{ActiveRecord::Base.connection.quote_table_name(db)}")
이 작업은 중복 항목을 제거하고 모든 인덱스를 재구성합니다(다른 테이블도 영향을 받았을 수 있으므로).
REINDEX가 오류 없이 완료되면 exit를 입력하고, 기존 서버에서 새 백업을 만든 뒤 해당 새 파일을 복원하세요. 만약 다른 테이블에 대한 오류가 표시되면, 해당 오류를 여기에 붙여넣어 주세요.