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
|
||||
add_index :tags, :name, unique: true
|
||||
|
||||
remove_index :taggings, :tag_id
|
||||
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
# 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
|
||||
end
|
||||
|
||||
if index_exists?(:taggings, [:taggable_id, :taggable_type, :context])
|
||||
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
add_index :taggings,
|
||||
[:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type],
|
||||
unique: true, name: 'taggings_idx'
|
||||
|
|
Loading…
Reference in a new issue