summaryrefslogtreecommitdiff
path: root/db/migrate/20190725012225_change_outbound_local_requests_whitelist_default.rb
blob: 21b00e0b7d943c7aad88b7c5bcc5164cc4d5ce77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

class ChangeOutboundLocalRequestsWhitelistDefault < ActiveRecord::Migration[5.2]
  include Gitlab::Database::MigrationHelpers

  # Set this constant to true if this migration requires downtime.
  DOWNTIME = false

  class ApplicationSetting < ActiveRecord::Base
    self.table_name = 'application_settings'
  end

  def up
    default_value = []

    change_column_default(:application_settings, :outbound_local_requests_whitelist, default_value)

    ApplicationSetting
      .where(outbound_local_requests_whitelist: nil)
      .update(outbound_local_requests_whitelist: default_value)

    change_column_null(:application_settings, :outbound_local_requests_whitelist, false)
  end

  def down
    change_column_null(:application_settings, :outbound_local_requests_whitelist, true)

    change_column_default(:application_settings, :outbound_local_requests_whitelist, nil)
  end
end