From 2a0f409b9dba044725645507b4cacbd2d374b5f1 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Sat, 16 Jun 2018 20:34:37 +0530 Subject: [PATCH] Use lowercased email addresses to check duplicates --- script/import_scripts/lithium.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/script/import_scripts/lithium.rb b/script/import_scripts/lithium.rb index 3caff8b0334..ebfb3eda00e 100644 --- a/script/import_scripts/lithium.rb +++ b/script/import_scripts/lithium.rb @@ -128,7 +128,7 @@ class ImportScripts::Lithium < ImportScripts::Base ORDER BY user_id SQL - duplicate_emails = mysql_query("SELECT email FROM users GROUP BY email HAVING COUNT(email) > 1").map { |e| [e["email"], 0] }.to_h + duplicate_emails = mysql_query("SELECT email_lower FROM users GROUP BY email_lower HAVING COUNT(email_lower) > 1").map { |e| [e["email_lower"], 0] }.to_h create_users(users, total: user_count, offset: offset) do |user| user_id = user["id"] @@ -139,9 +139,10 @@ class ImportScripts::Lithium < ImportScripts::Base username = USERNAME_MAPPINGS[username] if USERNAME_MAPPINGS[username].present? email = user["email"].presence || fake_email - if duplicate_emails.key?(email) - duplicate_emails[email] += 1 - email.sub!("@", "+#{duplicate_emails[email]}@") + email_lower = email.downcase + if duplicate_emails.key?(email_lower) + duplicate_emails[email_lower] += 1 + email.sub!("@", "+#{duplicate_emails[email_lower]}@") end {