Welcome to mirror list, hosted at ThFree Co, Russian Federation.

20200417075843_remove_and_add_foreign_key_to_project_settings.rb « migrate « db - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 695bd3381c8e32a337035a1226b5a1088cf0fd7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

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

  DOWNTIME = false
  CONSTRAINT_NAME = 'fk_project_settings_push_rule_id'
  disable_ddl_transaction!

  def up
    add_concurrent_foreign_key :project_settings, :push_rules, column: :push_rule_id, name: CONSTRAINT_NAME, on_delete: :nullify
    remove_foreign_key_if_exists :project_settings, column: :push_rule_id, on_delete: :cascade
  end

  def down
    add_concurrent_foreign_key :project_settings, :push_rules, column: :push_rule_id, on_delete: :cascade
    remove_foreign_key_if_exists :project_settings, column: :push_rule_id, name: CONSTRAINT_NAME, on_delete: :nullify
  end
end