FIX: Add check for existing provider_uids to generic import (#26914)

Co-authored-by: Gerhard Schlager <gerhard.schlager@discourse.org>
This commit is contained in:
Ítalo Alves 2024-05-17 06:36:31 -03:00 committed by GitHub
parent e1f3db8861
commit 73481e8f45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 0 deletions

View File

@ -623,10 +623,13 @@ class BulkImport::Generic < BulkImport::Base
SQL SQL
existing_user_ids = UserAssociatedAccount.pluck(:user_id).to_set existing_user_ids = UserAssociatedAccount.pluck(:user_id).to_set
existing_provider_uids = UserAssociatedAccount.pluck(:provider_uid, :provider_name).to_set
create_user_associated_accounts(accounts) do |row| create_user_associated_accounts(accounts) do |row|
user_id = user_id_from_imported_id(row["user_id"]) user_id = user_id_from_imported_id(row["user_id"])
next if user_id && existing_user_ids.include?(user_id) next if user_id && existing_user_ids.include?(user_id)
next if existing_provider_uids.include?([row["provider_uid"], row["provider_name"]])
{ {
user_id: user_id, user_id: user_id,