# frozen_string_literal: true class SchedulePopulateVulnerabilityFeedbackPipelineId < ActiveRecord::Migration[6.0] include Gitlab::Database::MigrationHelpers DOWNTIME = false INTERVAL = 2.minutes.to_i BATCH_SIZE = 100 MIGRATION = 'PopulateVulnerabilityFeedbackPipelineId' disable_ddl_transaction! def up return unless Gitlab.ee? vulnerability_feedback = exec_query <<~SQL SELECT DISTINCT "vulnerability_feedback"."project_id" FROM "vulnerability_feedback" WHERE "vulnerability_feedback"."pipeline_id" IS NULL ORDER BY "vulnerability_feedback"."project_id" ASC SQL return if vulnerability_feedback.rows.blank? vulnerability_feedback.rows.flatten.in_groups_of(BATCH_SIZE, false).each_with_index do |project_ids, index| migrate_in(index * INTERVAL, MIGRATION, [project_ids]) end end def down # no-op end end