desc 'Prints out missing indexes' task traceindex: :environment do
traceindex = Traceindex.new(Rails.application) column_names = traceindex.missing_index_column_names unless column_names.empty? puts "Missing index columns (#{column_names.size}):" column_names.each { |column| puts " #{column}" } end if ENV['IGNORE_FOREIGN_KEY'].nil? fk_column_names = traceindex.missing_foreign_keys unless fk_column_names.empty? puts "Missing foreign keys (#{fk_column_names.size}):" fk_column_names.each { |column| puts " #{column}" } end end if ENV['FAIL_ON_ERROR'] && (!column_names.empty? || !fk_column_names.empty?) raise 'Missing indexes detected.' end
end