I would like to know for each running model action, how can I retrieve
the SQL running behind? I don't want to scan log each time for the sql
running behind.
E.g. post.find(:all,:conditions=>{:id=>'1'}
I wanna debug the sql generated behind, is that other shorthand
function like post.find().show_sql() that enable
us to view what's SQL generated ?
I would like to know for each running model action, how can I retrieve
the SQL running behind? I don't want to scan log each time for the sql
running behind.
E.g. post.find(:all,:conditions=>{:id=>'1'}
I wanna debug the sql generated behind, is that other shorthand
function like post.find().show_sql() that enable
us to view what's SQL generated ?
That sounds like a good idea. Perhaps a
:log => :instance_variable_name option to find.
One alternative is the query_trace plugin that displays
a backtrace for each query, so that the log shows what
line of code is associated with each query.
I would like to know for each running model action, how can I retrieve
the SQL running behind? I don't want to scan log each time for the sql
running behind.
E.g. post.find(:all,:conditions=>{:id=>'1'}
I wanna debug the sql generated behind, is that other shorthand
function like post.find().show_sql() that enable
us to view what's SQL generated ?
Thanks
If you are using the console, you can type:
set_logger_to Logger.new(STDOUT)
An output example:
Page.find(:all, :conditions=>{:id=>1})
SQL (0.000093) SET SQL_AUTO_IS_NULL=0
Page Load (0.000112) SELECT * FROM `pages` WHERE (`pages`.`id` =
1)
Page Columns (0.001215) SHOW FIELDS FROM `pages`
=> [#<Page id: 1, ....
Thanks for the valuable reply. But I found myself most comfortable
with:
1) Netbeans debugging
2) ruby-debug (#54 Debugging with ruby-debug - RailsCasts
debug)
3) rdebug with textmate
That's sum out my findings. Hope it helps. But, personally speaking,
it will glad to have a shorthand function for developer to dump out
the sql generated on the fly,
as it effectively save time for browsing the log, run the debugger in
console...cheers!