Sha256: 337d07a0754e92aff3799bbf46a68cf570a8ba25581297bccedd256602aa447d

Contents?: true

Size: 967 Bytes

Versions: 7

Compression:

Stored size: 967 Bytes

Contents

# frozen_string_literal: true

class AddMissingUniqueIndices < ActiveRecord::Migration[6.0]
  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,
              %i[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, %i[taggable_id taggable_type context],
              name: 'taggings_taggable_context_idx'
  end
end

Version data entries

7 entries across 6 versions & 2 rubygems

Version Path
acts-as-taggable-on-12.0.0 db/migrate/2_add_missing_unique_indices.rb
acts-as-taggable-on-11.0.0 db/migrate/2_add_missing_unique_indices.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/acts-as-taggable-on-10.0.0/db/migrate/2_add_missing_unique_indices.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/acts-as-taggable-on-9.0.1/db/migrate/2_add_missing_unique_indices.rb
acts-as-taggable-on-10.0.0 db/migrate/2_add_missing_unique_indices.rb
acts-as-taggable-on-9.0.1 db/migrate/2_add_missing_unique_indices.rb
acts-as-taggable-on-9.0.0 db/migrate/2_add_missing_unique_indices.rb