mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-20 10:06:04 +10:00
Merge branch 'conditional-delete-taggings-indices' into 'master'
Conditionally remove indices that may not exist in pre-GitLab v6.7 installations In pre-GitLab v6.7 installations, the `tagging` indices were directly added to the init schema and not added in a migration. Anyone using this older DB schema may not have these indicies, so only remove them if they are there. Closes #1593 See merge request !626
This commit is contained in:
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user