Je voudrais vérifier quelques requêtes générées par ActiveRecord, mais je n'ai pas besoin de les exécuter réellement. Existe-t-il un moyen d'obtenir la requête avant qu'elle renvoie son résultat?Comment puis-je voir le SQL ActiveRecord générer?
Répondre
Ces deux articles devraient vous aider à faire ce que vous voulez.
http://weblog.jamisbuck.org/2007/1/8/watching-activerecord-do-it-s-thing
http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord
Ceux-ci continuent d'exécuter les requêtes, mais ils résolvent le problème que je recherchais vraiment, car les requêtes (a) sont idempotentes et (b) ne prennent pas trop de temps. –
Je pense qu'il est enterré dans:
construct_finder_sql,
http://groups.google.com/group/rubyonrails-talk/browse_frm/thread/38c492e3939dd9bf/?pli=1
tail -f log/development.log
Works dans les paramètres par défaut ou lorsque vous s et votre niveau de journalisation à DEBUG.
L'article de Jamis est obsolète, ou au moins ne fonctionne pas mon application Rails (probablement en raison d'une autre raison avec une application de 30 000 lignes de 3 ans). Cependant, cela fonctionne dans une console tout moment:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)
- 1. Comment puis-je voir les configurations de mappage transmises à NHibernate par le château activerecord?
- 2. Comment générer cette requête sql?
- 3. voir sql que linq-to-sql produit
- 4. générer des scripts SQL
- 5. (MVVM) Voir le modèle Voir le modèle et le filetage
- 6. LINQ to SQL utilise-t-il le modèle ActiveRecord?
- 7. Un moyen facile de voir SQL généré par ActiveRecord.Save()?
- 8. Instructions ActiveRecord et SELECT AS SQL
- 9. générer séquence dans sql sélectionnez
- 10. Comment représenter cette requête sql dans une relation ActiveRecord?
- 11. Connexion à SQL Server avec ActiveRecord
- 12. Comment voir SQL 2008 Serrures et tables Bloqué
- 13. Voir le hachage d'assemblage
- 14. Castle ActiveRecord et le modèle de solution ActiveRecord VS
- 15. Impossible de voir le serveur win2k8 par nom d'hôte, mais peut le voir par IP
- 16. Générer le rapport de santé du serveur SQL
- 17. générer le script SQL à partir des tables
- 18. Générer le document 2003 document
- 19. Dans ActiveRecord, comment utiliser 'changed' (dirty) dans un callback before_save?
- 20. Django: J'ai un save() qui échoue. Comment puis-je voir le SQL généré?
- 21. Comment puis-je voir le plan d'exécution des procédures stockées et des déclencheurs dans SQL Server?
- 22. Comment puis-je voir le contenu des champs de données binaires sql?
- 23. Impossible de voir le serveur win2k8 par nom d'hôte, mais peut le voir par IP
- 24. Comment générer le code lui-même?
- 25. Comment générer des classes LINQ to SQL privées?
- 26. Comment ne se joindre à SUM ActiveRecord
- 27. Rails: Vérifiez has_many dans Voir
- 28. Comment générer des scripts SQL à partir d'une requête
- 29. RIA DomainService + ActiveRecord
- 30. Comment combiner des objets ActiveRecord?
Notez que des rails 3+, vous pouvez simplement virer de bord sur un 'to_sql' à la requête:' Posts.where (: quelque chose => toto) .to_sql' – DGM