module Mongoid::Tasks::Database
Public Instance Methods
remove_indexes(models = ::Mongoid.models)
click to toggle source
# File lib/patches/db_commands.rb, line 134 def remove_indexes(models = ::Mongoid.models) models.each do |model| next if model.embedded? begin indexes = model.collection.indexes.map{ |doc| doc["name"] } indexes.delete_one("_id_") model.remove_indexes rescue Moped::Errors::OperationFailure next end logger.info("MONGOID: Removing indexes on: #{model} for: #{indexes.join(', ')}.") model end.compact end
undefined_indexes(models = ::Mongoid.models)
click to toggle source
# File lib/patches/db_commands.rb, line 109 def undefined_indexes(models = ::Mongoid.models) undefined_by_model = {} models.each do |model| unless model.embedded? begin model.collection.indexes.each do |index| # ignore default index unless index['name'] == '_id_' key = index['key'].symbolize_keys spec = model.index_specification(key) unless spec # index not specified undefined_by_model[model] ||= [] undefined_by_model[model] << index end end end rescue Moped::Errors::OperationFailure; end end end undefined_by_model end