Comment puis-je voir le SQL ActiveRecord génère?
-
04-07-2019 - |
Question
J'aimerais vérifier quelques requêtes générées par ActiveRecord, mais je n'ai pas besoin de les exécuter. Y at-il un moyen d’obtenir la requête avant qu’elle ne retourne le résultat?
La solution
Ces deux articles devraient vous aider à faire ce que vous voulez.
http: //weblog.jamisbuck .org / 2007/1/8 / regarder-activer-enregistrer-le-faire-chose
http://weblog.jamisbuck.org/2007 / 1/31 / plus-en-visionnage-activer-enregistrement
Autres conseils
Je pense qu'il est enterré dans:
construct_finder_sql,
tail -f log / development.log
Fonctionne avec les paramètres par défaut ou lorsque vous définissez le niveau de votre journal sur DEBUG.
L'article de Jamis est obsolète, ou du moins ne fonctionne pas avec mon application Rails (probablement pour une autre raison avec une application en ligne de 30 000 ans, âgée de 3 ans). Cependant, cela fonctionne dans une console à tout moment:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)