Sha256: 92b7fa40a1edba16633b911edd4fa0c24fdd8509a3d32e1c4f62bc258ba6c613

Contents?: true

Size: 1.21 KB

Versions: 12

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

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

12 entries across 12 versions & 1 rubygems

Version Path
solidus_auth_devise-2.5.9 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.8 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.7 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.6 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.5 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.4 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.3 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.2 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.1 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.5.0 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.4.0 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb
solidus_auth_devise-2.3.0 db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb