Chciałbym sprawdzić kilka kwerend generowanych przez ActiveRecord, ale nie muszę ich faktycznie uruchamiać. Czy istnieje sposób, aby uzyskać zapytanie, zanim zwróci wynik?Jak mogę zobaczyć, że ActiveRecord generuje dane SQL?
Odpowiedz
Oba te artykuły powinny pomóc Ci zrobić to, co chcesz.
http://weblog.jamisbuck.org/2007/1/8/watching-activerecord-do-it-s-thing
http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord
Ci wciąż prowadzą kwerendy, ale rozwiązują problem, który był naprawdę po, ponieważ kwerendy (a) są idempotentne i (b) nie trwają zbyt długo. –
myślę, że jest pochowany w:
construct_finder_sql,
http://groups.google.com/group/rubyonrails-talk/browse_frm/thread/38c492e3939dd9bf/?pli=1
ogon -f log/development.log
pracuje w ustawieniach domyślnych lub gdy jesteś s et twój poziom rejestratora do DEBUG.
Artykuł Jamis jest nieaktualny, a przynajmniej nie działa z moją aplikacją Rails (prawdopodobnie z innego powodu z 3-letnią aplikacją o wartości 30 000 linii). Jednak to działa w konsoli dowolny czas:
ActiveRecord::Base.connection.instance_variable_set :@logger, Logger.new(STDOUT)
- 1. Widząc SQL że LINQ generuje
- 2. Jak mogę zobaczyć nieprzetworzone zapytania SQL Django?
- 3. Jak mogę zobaczyć, jakie klucze myśli vim, że uderzam?
- 4. Jak mogę zobaczyć plan wykonania?
- 5. Jak mogę zobaczyć wszystkie dane, które solr indeksuje?
- 6. Jak mogę zobaczyć dane wyjściowe preprocesora Visual C++?
- 7. Jak mogę zobaczyć surowe SQL wygenerowane dla Ecto.Query?
- 8. Jak zapewnić, że funkcja Pythona generuje swoje dane wyjściowe tylko w oparciu o dane wejściowe?
- 9. ActiveRecord zrywać do SQL
- 10. Jak mogę zobaczyć zmiany w Entity Framework?
- 11. Co robi odwrotność? Jakie SQL to generuje?
- 12. Jak mogę zobaczyć łańcuch prototypów obiektu JavaScript?
- 13. Gdzie można zobaczyć dane wyjściowe z PlayN.Log
- 14. Jak mogę zobaczyć, co piszę w telnetu?
- 15. Jak mogę zobaczyć konkretną wartość modułu sql_mode?
- 16. Jak mogę zobaczyć opóźnioną kolejkę zadań?
- 17. Jak mogę zobaczyć błąd strony w jMeter?
- 18. Jak mogę zobaczyć zawartość żądania MultipartForm?
- 19. Jak mogę zobaczyć moje lokalne nieprzerwane zatwierdzenia?
- 20. Węzeł konsola.log domyślnie obcina dane wyjściowe. Jak mogę zobaczyć pełną wydajność?
- 21. ActiveRecord: Czy mogę skopiować skojarzenia?
- 22. Wynik z ActiveRecord :: Base.connection.execute (sql) - PostgreSQL
- 23. Bezpieczne ActiveRecord jak zapytanie
- 24. Jak mogę wypisać, co SUD generuje/odbiera?
- 25. Czas wykonania instrukcji ActiveRecord
- 26. Dlaczego Hibernate generuje to zapytanie SQL?
- 27. Jak mogę się upewnić, że mój program linuksowy nie generuje zrzutów głównych?
- 28. Bugzilla - Czy mogę zobaczyć, co zrobiłem wczoraj?
- 29. Jak mogę zobaczyć, jaki adres IP wysłał żądanie do SQL Server?
- 30. ActiveRecord STI: Jak mogę wyjść z klasy nadrzędnej default zakres
Należy zauważyć, że z szynami 3+, można po prostu dołączać do 'to_sql' do zapytania:' Posts.where (: coś => foo) .to_sql' – DGM