summaryrefslogtreecommitdiff
path: root/db/migrate/20171025110159_add_latest_merge_request_diff_id_to_merge_requests.rb
blob: 74a2badc130811f2fe30a899da30ce35de242e90 (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
class AddLatestMergeRequestDiffIdToMergeRequests < ActiveRecord::Migration
  include Gitlab::Database::MigrationHelpers

  DOWNTIME = false

  disable_ddl_transaction!

  def up
    add_column :merge_requests, :latest_merge_request_diff_id, :integer
    add_concurrent_index :merge_requests, :latest_merge_request_diff_id

    add_concurrent_foreign_key :merge_requests, :merge_request_diffs,
                               column: :latest_merge_request_diff_id,
                               on_delete: :nullify
  end

  def down
    remove_foreign_key :merge_requests, column: :latest_merge_request_diff_id

    if index_exists?(:merge_requests, :latest_merge_request_diff_id)
      remove_concurrent_index :merge_requests, :latest_merge_request_diff_id
    end

    remove_column :merge_requests, :latest_merge_request_diff_id
  end
end