Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'db/post_migrate/20200204113223_schedule_recalculate_project_authorizations.rb')
-rw-r--r--db/post_migrate/20200204113223_schedule_recalculate_project_authorizations.rb43
1 files changed, 0 insertions, 43 deletions
diff --git a/db/post_migrate/20200204113223_schedule_recalculate_project_authorizations.rb b/db/post_migrate/20200204113223_schedule_recalculate_project_authorizations.rb
deleted file mode 100644
index 83b58300115..00000000000
--- a/db/post_migrate/20200204113223_schedule_recalculate_project_authorizations.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-# frozen_string_literal: true
-
-class ScheduleRecalculateProjectAuthorizations < ActiveRecord::Migration[5.1]
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- MIGRATION = 'RecalculateProjectAuthorizations'
- BATCH_SIZE = 2_500
- DELAY_INTERVAL = 2.minutes.to_i
-
- disable_ddl_transaction!
-
- class Namespace < ActiveRecord::Base
- include ::EachBatch
-
- self.table_name = 'namespaces'
- end
-
- class ProjectAuthorization < ActiveRecord::Base
- include ::EachBatch
-
- self.table_name = 'project_authorizations'
- end
-
- def up
- say "Scheduling #{MIGRATION} jobs"
-
- max_group_id = Namespace.where(type: 'Group').maximum(:id)
- project_authorizations = ProjectAuthorization.where('project_id <= ?', max_group_id)
- .select(:user_id)
- .distinct
-
- project_authorizations.each_batch(of: BATCH_SIZE, column: :user_id) do |authorizations, index|
- delay = index * DELAY_INTERVAL
- user_ids = authorizations.map(&:user_id)
- BackgroundMigrationWorker.perform_in(delay, MIGRATION, [user_ids])
- end
- end
-
- def down
- end
-end