summaryrefslogtreecommitdiff
path: root/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb')
-rw-r--r--lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb58
1 files changed, 0 insertions, 58 deletions
diff --git a/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb b/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb
deleted file mode 100644
index b39c0953fb1..00000000000
--- a/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-# frozen_string_literal: true
-
-module Gitlab
- module BackgroundMigration
- # Add user primary email to emails table if confirmed
- class AddPrimaryEmailToEmailsIfUserConfirmed
- INNER_BATCH_SIZE = 1_000
-
- # Stubbed class to access the User table
- class User < ActiveRecord::Base
- include ::EachBatch
-
- self.table_name = 'users'
- self.inheritance_column = :_type_disabled
-
- scope :confirmed, -> { where.not(confirmed_at: nil) }
-
- has_many :emails
- end
-
- # Stubbed class to access the Emails table
- class Email < ActiveRecord::Base
- self.table_name = 'emails'
- self.inheritance_column = :_type_disabled
-
- belongs_to :user
- end
-
- def perform(start_id, end_id)
- User.confirmed.where(id: start_id..end_id).select(:id, :email, :confirmed_at).each_batch(of: INNER_BATCH_SIZE) do |users|
- current_time = Time.now.utc
-
- attributes = users.map do |user|
- {
- user_id: user.id,
- email: user.email,
- confirmed_at: user.confirmed_at,
- created_at: current_time,
- updated_at: current_time
- }
- end
-
- Email.insert_all(attributes)
- end
- mark_job_as_succeeded(start_id, end_id)
- end
-
- private
-
- def mark_job_as_succeeded(*arguments)
- Gitlab::Database::BackgroundMigrationJob.mark_all_as_succeeded(
- 'AddPrimaryEmailToEmailsIfUserConfirmed',
- arguments
- )
- end
- end
- end
-end