Sha256: 2b8317c002f0dfc786e29cc053ef459e575d8d7277b8dc150bb0076522927321

Contents?: true

Size: 525 Bytes

Versions: 31

Compression:

Stored size: 525 Bytes

Contents

# frozen_string_literal: true

module Spree
  module MigrationHelpers
    def safe_remove_index(table, column)
      remove_index(table, column) if index_exists?(table, column)
    end

    def safe_add_index(table, column, **options)
      if columns_exist?(table, column) && !index_exists?(table, column, **options)
        add_index(table, column, **options)
      end
    end

    private

    def columns_exist?(table, columns)
      Array.wrap(columns).all? { |column| column_exists?(table, column) }
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
solidus_core-4.4.2 lib/spree/migration_helpers.rb
solidus_core-4.4.1 lib/spree/migration_helpers.rb
solidus_core-4.4.0 lib/spree/migration_helpers.rb
solidus_core-4.3.4 lib/spree/migration_helpers.rb
solidus_core-4.2.4 lib/spree/migration_helpers.rb
solidus_core-4.1.5 lib/spree/migration_helpers.rb
solidus_core-4.3.3 lib/spree/migration_helpers.rb
solidus_core-4.3.2 lib/spree/migration_helpers.rb
solidus_core-4.1.4 lib/spree/migration_helpers.rb
solidus_core-4.3.1 lib/spree/migration_helpers.rb
solidus_core-4.3.0 lib/spree/migration_helpers.rb
solidus_core-4.2.3 lib/spree/migration_helpers.rb
solidus_core-4.1.3 lib/spree/migration_helpers.rb
solidus_core-4.0.4 lib/spree/migration_helpers.rb
solidus_core-3.4.6 lib/spree/migration_helpers.rb
solidus_core-4.0.3 lib/spree/migration_helpers.rb
solidus_core-4.1.2 lib/spree/migration_helpers.rb
solidus_core-4.2.2 lib/spree/migration_helpers.rb
solidus_core-3.4.5 lib/spree/migration_helpers.rb
solidus_core-4.2.1 lib/spree/migration_helpers.rb