Rastreie consultas SQL de volta ao código Rails

Com base em uma postagem do blog de Ryan Bigg , coloque o seguinte em um inicializador para rastrear consultas SQL em seus logs. A variável de ambiente DEBUG_QUERIESé usada para ativar / desativar o rastreamento, enquanto QUERY_TO_DEBUGcontém a consulta real que você está procurando (será interpolada em um regex):

if ENV['DEBUG_QUERIES']
query_regex
= /#{ENV['QUERY_TO_DEBUG']}/
ActiveSupport::Notifications.subscribe('sql.active_record') do |_, _, _, _, details|
if details[:sql] =~ query_regex
puts
'*' * 50
puts details
[:sql]
puts caller
.join("n")
puts
'*' * 50
end
end
end