마이그레이션 후 기여 및 멤버십 매핑 문제 해결
마이그레이션 후 기여 및 멤버십 매핑 문제 해결에 대해 설명합니다.
플레이스홀더 사용자 재할당 중에 다음과 같은 문제가 발생할 수 있습니다. 소스 사용자 재할당 실패 # UI에서 failed 상태의 소스 사용자 재할당을 재시도할 방법이 없습니다. 이슈 589632 를 참조하세요. 하지만 Rails 콘솔 에서 실패한 소스 사용자를 수동으로 재시도할 수 있습니다: # 플레이스홀더 사용자 ID로 찾기 - UI에서 쉽게 가져올 수 있으므로 placeholder_user_id = < PLACEHOLDER_USER_ID > import_source_user = Import : :SourceUser .find_by( placeholder_user_id: placeholder_user_id) if import_source_user.failed? import_source_user.update!( status: Import : :SourceUser : :STATUSES [ :reassignment_in_progress ]) Import : :ReassignPlaceholderUserRecordsWorker .perform_async(import_source_user.id) puts "Reassignment retry queued" else puts "Import source user status: #{import_source_user.status} (expected 'failed')" end 소스 사용자가 다시 실패하는 경우 importer.log 에서 Failed to reassign placeholder user 메시지가 포함된 로그를 확인하여 근본 원인 조사를 시작하세요. 소스 사용자가 성공적으로 재할당되었지만 플레이스홀더 사용자가 삭제되지 않은 경우 # 플레이스홀더 사용자는 사용자 기여를 성공적으로 재할당한 후 삭제됩니다. 하지만 플레이스홀더 사용자의 ID를 참조하는 일부 데이터베이스 레코드가 재할당 후에도 데이터베이스에 남아 있어 플레이스홀더 사용자가 삭제되지 않을 수 있습니다. 이런 경우 관리자는 관리자 사용자 테이블에서 여전히 플레이스홀더 사용자를 볼 수 있습니다. 플레이스홀더 사용자는 라이선스 한도에 포함되지 않으며 일반적인 GitLab 운영에 영향을 미치지 않지만, 일부 관리자는 마이그레이션 후 모든 플레이스홀더 사용자가 삭제되기를 원할 수 있습니다. GitLab 18.5 이하에서 플레이스홀더 사용자를 재할당하는 사용자가 이 시나리오를 더 많이 겪을 수 있습니다. 이런 경우 Unable to delete placeholder user because it is still referenced in other tables 메시지가 플레이스홀더 사용자의 ID와 함께 importer.log 에 나타납니다. 이러한 사용자를 삭제하려면 다음 중 하나를 수행합니다: 관리자로서 플레이스홀더 사용자 삭제 . 이 방법은 남아 있는 플레이스홀더 사용자 기여를 삭제해도 된다고 확신할 때 가장 적합합니다. GitLab 인스턴스를 GitLab 18.6 이상으로 업그레이드하고 Rails 콘솔에서 플레이스홀더 사용자의 플레이스
