Sha256: cc549c2b71f3ed272d559598c0515c4febf27b7a3419aecbad265bd0a240681c
Contents?: true
Size: 1.08 KB
Versions: 7
Compression:
Stored size: 1.08 KB
Contents
if ActiveRecord.gem_version >= Gem::Version.new('5.0') class AddMissingUniqueIndices < ActiveRecord::Migration[4.2]; end else class AddMissingUniqueIndices < ActiveRecord::Migration; end end AddMissingUniqueIndices.class_eval do def self.up add_index ActsAsTaggableOn.tags_table, :name, unique: true remove_index ActsAsTaggableOn.taggings_table, :tag_id if index_exists?(ActsAsTaggableOn.taggings_table, :tag_id) remove_index ActsAsTaggableOn.taggings_table, name: 'taggings_taggable_context_idx' add_index ActsAsTaggableOn.taggings_table, [:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type], unique: true, name: 'taggings_idx' end def self.down remove_index ActsAsTaggableOn.tags_table, :name remove_index ActsAsTaggableOn.taggings_table, name: 'taggings_idx' add_index ActsAsTaggableOn.taggings_table, :tag_id unless index_exists?(ActsAsTaggableOn.taggings_table, :tag_id) add_index ActsAsTaggableOn.taggings_table, [:taggable_id, :taggable_type, :context], name: 'taggings_taggable_context_idx' end end
Version data entries
7 entries across 7 versions & 3 rubygems