summaryrefslogtreecommitdiff
path: root/db/migrate/20180508102840_add_unique_constraint_to_project_mirror_data_project_id_index.rb
blob: b225354ca43fb34138d7ec2b2b217fa186fd4638 (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
class AddUniqueConstraintToProjectMirrorDataProjectIdIndex < ActiveRecord::Migration[4.2]
  include Gitlab::Database::MigrationHelpers

  DOWNTIME = false

  disable_ddl_transaction!

  def up
    add_concurrent_index(:project_mirror_data,
                         :project_id,
                         unique: true,
                         name: 'index_project_mirror_data_on_project_id_unique')

    remove_concurrent_index_by_name(:project_mirror_data, 'index_project_mirror_data_on_project_id')

    rename_index(:project_mirror_data,
                 'index_project_mirror_data_on_project_id_unique',
                 'index_project_mirror_data_on_project_id')
  end

  def down
    rename_index(:project_mirror_data,
                 'index_project_mirror_data_on_project_id',
                 'index_project_mirror_data_on_project_id_old')

    add_concurrent_index(:project_mirror_data, :project_id)

    remove_concurrent_index_by_name(:project_mirror_data,
                                    'index_project_mirror_data_on_project_id_old')
  end
end