diff options
author | Stan Hu <stanhu@gmail.com> | 2015-05-08 00:27:47 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-05-08 00:43:19 -0700 |
commit | f6c0ef5553fde03ae3a04ba48733455a5415a3ac (patch) | |
tree | 823782b6134cf7c0067d3e8162c63175524a235d /db | |
parent | c4aa700398173b80131a00a0e7dd3badd454bc22 (diff) | |
download | gitlab-ce-f6c0ef5553fde03ae3a04ba48733455a5415a3ac.tar.gz |
Conditionally remove indices that may not exist in pre-GitLab v6.7 installations
Closes #1593
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb b/db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb index 4ca676f6c72..c1b78681519 100644 --- a/db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb +++ b/db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb @@ -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' |