Sha256: f27e3ea4df52e2e39cdb3dfaf3365db269d3d1167d1d4e771db6b0eb278cc9c0

Contents?: true

Size: 1.27 KB

Versions: 10

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

# This migration comes from solidus_auth (originally 20190125170630)
class AddResetPasswordTokenIndexToSpreeUsers < SolidusSupport::Migration[4.2]
  # We're not using the standard Rails index name because somebody could have
  #  already added that index to the table. By using a custom name we ensure
  # that the index can effectively be added and removed via migrations/rollbacks
  #  without having any impact on such installations. The index name is Rails
  # standard name + "_solidus_auth_devise"; the length is 61 chars which is
  # still OK for Sqlite, mySQL and Postgres.
  def custom_index_name
    'index_spree_users_on_reset_password_token_solidus_auth_devise'
  end

  def default_index_exists?
    index_exists?(:spree_users, :reset_password_token)
  end

  def custom_index_exists?
    index_exists?(:spree_users, :reset_password_token, name: custom_index_name)
  end

  def up
    Spree::User.reset_column_information
    if Spree::User.column_names.include?('reset_password_token') && !default_index_exists? && !custom_index_exists?
      add_index :spree_users, :reset_password_token, unique: true, name: custom_index_name
    end
  end

  def down
    if custom_index_exists?
      remove_index :spree_users, name: custom_index_name
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
solidus_prototypes-1.6.0 spec/dummy/db/migrate/20231107091997_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.5.1 spec/dummy/db/migrate/20231107091997_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.5.0 spec/dummy/db/migrate/20231107091997_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.4.0 spec/dummy/db/migrate/20231107091997_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.3.0 spec/dummy/db/migrate/20230326093455_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_reports-1.2.0 spec/dummy/db/migrate/20230326095763_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.2.0 spec/dummy/db/migrate/20221122203180_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.1.1 spec/dummy/db/migrate/20221014070495_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_reports-1.1.0 spec/dummy/db/migrate/20221012211986_add_reset_password_token_index_to_spree_users.solidus_auth.rb
solidus_prototypes-1.1.0 spec/dummy/db/migrate/20221012201094_add_reset_password_token_index_to_spree_users.solidus_auth.rb