summaryrefslogtreecommitdiff
path: root/db/post_migrate
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-27 02:11:07 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-27 02:11:07 +0000
commita082c45f16bf30bef6e82defa75901375287d467 (patch)
tree13b1fe8ce4a1023ccd23b1e4875ecf944e368098 /db/post_migrate
parented3ba0d93b5d0dc92a6d62edc80b9727cbbf4d7b (diff)
downloadgitlab-ce-a082c45f16bf30bef6e82defa75901375287d467.tar.gz
Add latest changes from gitlab-org/gitlab@15-10-stable-ee
Diffstat (limited to 'db/post_migrate')
-rw-r--r--db/post_migrate/20230310213308_sync_security_policy_rule_schedules_that_may_have_been_deleted_by_a_bug.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/db/post_migrate/20230310213308_sync_security_policy_rule_schedules_that_may_have_been_deleted_by_a_bug.rb b/db/post_migrate/20230310213308_sync_security_policy_rule_schedules_that_may_have_been_deleted_by_a_bug.rb
new file mode 100644
index 00000000000..3435f889fa7
--- /dev/null
+++ b/db/post_migrate/20230310213308_sync_security_policy_rule_schedules_that_may_have_been_deleted_by_a_bug.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+class SyncSecurityPolicyRuleSchedulesThatMayHaveBeenDeletedByABug < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ class OrchestrationPolicyRuleSchedule < MigrationRecord
+ self.table_name = 'security_orchestration_policy_rule_schedules'
+ end
+
+ def up
+ return unless Gitlab.ee?
+ return unless sync_scan_policies_worker
+
+ OrchestrationPolicyRuleSchedule
+ .select(:security_orchestration_policy_configuration_id)
+ .distinct
+ .where(policy_index: 1..)
+ .pluck(:security_orchestration_policy_configuration_id)
+ .map { |policy_configuration_id| [policy_configuration_id] }
+ .then { |args_list| sync_scan_policies_worker.bulk_perform_async(args_list) }
+ end
+
+ def down
+ # no-op
+ end
+
+ private
+
+ def sync_scan_policies_worker
+ unless defined?(@sync_scan_policies_worker)
+ @sync_scan_policies_worker = 'Security::SyncScanPoliciesWorker'.safe_constantize
+ end
+
+ @sync_scan_policies_worker
+ end
+end