summaryrefslogtreecommitdiff
path: root/db/migrate/20200508050301_add_spam_check_endpoint_to_application_settings.rb
blob: d30b8abbbc3832be43c33c829df5d1ad956b9884 (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
31
32
33
34
# frozen_string_literal: true

class AddSpamCheckEndpointToApplicationSettings < ActiveRecord::Migration[6.0]
  include Gitlab::Database::MigrationHelpers

  DOWNTIME = false

  disable_ddl_transaction!

  def up
    unless column_exists?(:application_settings, :spam_check_endpoint_url)
      add_column :application_settings, :spam_check_endpoint_url, :text
    end

    add_text_limit :application_settings, :spam_check_endpoint_url, 255

    unless column_exists?(:application_settings, :spam_check_endpoint_enabled)
      add_column :application_settings, :spam_check_endpoint_enabled, :boolean, null: false, default: false
    end
  end

  def down
    remove_column_if_exists :spam_check_endpoint_url
    remove_column_if_exists :spam_check_endpoint_enabled
  end

  private

  def remove_column_if_exists(column)
    return unless column_exists?(:application_settings, column)

    remove_column :application_settings, column
  end
end