diff options
Diffstat (limited to 'db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb')
-rw-r--r-- | db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb b/db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb new file mode 100644 index 00000000000..537c235edab --- /dev/null +++ b/db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +class UpdateReportTypeForExistingApprovalProjectRules < Gitlab::Database::Migration[1.0] + def up + # 1. We only want to consider when rule_type is set to :report_approver (i.e., 2): + # enum rule_type: { + # regular: 0, + # code_owner: 1, # currently unused + # report_approver: 2, + # any_approver: 3 + # } + # 2. Also we want to change only the folowing names and respective values: + # DEFAULT_NAME_FOR_LICENSE_REPORT = 'License-Check' + # DEFAULT_NAME_FOR_VULNERABILITY_REPORT = 'Vulnerability-Check' + # DEFAULT_NAME_FOR_COVERAGE = 'Coverage-Check' + # enum report_type: { + # vulnerability: 1, + # license_scanning: 2, + # code_coverage: 3 + # } + + execute <<~SQL + UPDATE approval_project_rules + SET report_type = converted_values.report_type + FROM + ( values + (1, 'Vulnerability-Check'), + (2, 'License-Check'), + (3, 'Coverage-Check') + ) AS converted_values(report_type, name) + WHERE approval_project_rules.name = converted_values.name + AND approval_project_rules.rule_type = 2; + SQL + end + + def down + # no-op + end +end |