Conditionally remove indices that may not exist in pre-GitLab v6.7 installations
Closes #1593
This commit is contained in:
parent
c4aa700398
commit
f6c0ef5553
1 changed files with 9 additions and 2 deletions
|
@ -3,8 +3,15 @@ class AddMissingUniqueIndices < ActiveRecord::Migration
|
||||||
def self.up
|
def self.up
|
||||||
add_index :tags, :name, unique: true
|
add_index :tags, :name, unique: true
|
||||||
|
|
||||||
|
# pre-GitLab v6.7.0 may not have these indices since there were no
|
||||||
|
# migrations for them
|
||||||
|
if index_exists?(:taggings, :tag_id)
|
||||||
remove_index :taggings, :tag_id
|
remove_index :taggings, :tag_id
|
||||||
|
end
|
||||||
|
|
||||||
|
if index_exists?(:taggings, [:taggable_id, :taggable_type, :context])
|
||||||
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||||
|
end
|
||||||
add_index :taggings,
|
add_index :taggings,
|
||||||
[:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type],
|
[:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type],
|
||||||
unique: true, name: 'taggings_idx'
|
unique: true, name: 'taggings_idx'
|
||||||
|
|
Loading…
Reference in a new issue