summaryrefslogtreecommitdiff
path: root/db/migrate/20200617205000_add_deploy_key_id_to_push_access_levels.rb
blob: 11b92c2a321d0f31b8396e44ab9946b4c20a19e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

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

  DOWNTIME = false

  disable_ddl_transaction!

  def up
    unless column_exists?(:protected_branch_push_access_levels, :deploy_key_id)
      add_column :protected_branch_push_access_levels, :deploy_key_id, :integer
    end

    add_concurrent_foreign_key :protected_branch_push_access_levels, :keys, column: :deploy_key_id, on_delete: :cascade
    add_concurrent_index :protected_branch_push_access_levels, :deploy_key_id, name: 'index_deploy_key_id_on_protected_branch_push_access_levels'
  end

  def down
    remove_column :protected_branch_push_access_levels, :deploy_key_id
  end
end