diff options
Diffstat (limited to 'db/migrate/20210818220234_add_default_project_approval_rules_vuln_allowed.rb')
-rw-r--r-- | db/migrate/20210818220234_add_default_project_approval_rules_vuln_allowed.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/db/migrate/20210818220234_add_default_project_approval_rules_vuln_allowed.rb b/db/migrate/20210818220234_add_default_project_approval_rules_vuln_allowed.rb new file mode 100644 index 00000000000..72d2755effa --- /dev/null +++ b/db/migrate/20210818220234_add_default_project_approval_rules_vuln_allowed.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class AddDefaultProjectApprovalRulesVulnAllowed < ActiveRecord::Migration[6.1] + include Gitlab::Database::MigrationHelpers + + disable_ddl_transaction! + + DEFAULT_VALUE = 0 + + def up + change_column_default :approval_project_rules, :vulnerabilities_allowed, DEFAULT_VALUE + + update_column_in_batches(:approval_project_rules, :vulnerabilities_allowed, DEFAULT_VALUE) do |table, query| + query.where(table[:vulnerabilities_allowed].eq(nil)) + end + + change_column_null :approval_project_rules, :vulnerabilities_allowed, false + end + + def down + change_column_default :approval_project_rules, :vulnerabilities_allowed, nil + change_column_null :approval_project_rules, :vulnerabilities_allowed, true + end +end |