20160616103005_remove_keys_fingerprint_index_if_exists.rb 611 Bytes
Newer Older
1
# rubocop:disable RemoveIndex
2
class RemoveKeysFingerprintIndexIfExists < ActiveRecord::Migration[4.2]
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
  include Gitlab::Database::MigrationHelpers

  disable_ddl_transaction!

  # https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/250
  # That MR was added on gitlab-ee so we need to check if the index
  # already exists because we want to do is create an unique index instead.

  def up
    if index_exists?(:keys, :fingerprint)
      remove_index :keys, :fingerprint
    end
  end

  def down
    unless index_exists?(:keys, :fingerprint)
      add_concurrent_index :keys, :fingerprint
    end
  end
end