34 lines
1.3 KiB
Ruby
34 lines
1.3 KiB
Ruby
# This migration comes from acts_as_taggable_on_engine (originally 6)
|
|
if ActiveRecord.gem_version >= Gem::Version.new('5.0')
|
|
class AddMissingIndexesOnTaggings < ActiveRecord::Migration[4.2]; end
|
|
else
|
|
class AddMissingIndexesOnTaggings < ActiveRecord::Migration; end
|
|
end
|
|
|
|
AddMissingIndexesOnTaggings.class_eval do
|
|
def change
|
|
add_index :taggings, :tag_id unless index_exists? :taggings, :tag_id
|
|
add_index :taggings, :taggable_id unless index_exists? :taggings,
|
|
:taggable_id
|
|
add_index :taggings, :taggable_type unless index_exists? :taggings,
|
|
:taggable_type
|
|
add_index :taggings, :tagger_id unless index_exists? :taggings, :tagger_id
|
|
add_index :taggings, :context unless index_exists? :taggings, :context
|
|
|
|
indexes
|
|
end
|
|
|
|
def indexes
|
|
unless index_exists? :taggings, %i[tagger_id tagger_type]
|
|
add_index :taggings, %i[tagger_id tagger_type]
|
|
end
|
|
|
|
unless index_exists? :taggings,
|
|
%i[taggable_id taggable_type tagger_id context],
|
|
name: 'taggings_idy'
|
|
add_index :taggings, %i[taggable_id taggable_type tagger_id context],
|
|
name: 'taggings_idy'
|
|
end
|
|
end
|
|
end
|