Display SQL in Rails console
Type the following in your rails console
ActiveRecord::Base.logger = Logger.new STDOUT
and after runnining a query you’ll see SQL queries with the time it took to execute it in your irb session.
irb(main):001:0> User.last User Load (0.6ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT 1 => #<User id: 1, created_at: "2015-01-26 01:05:16", updated_at: "2015-02-22 22:19:53" ...>
You don’t have to type it everytime as you can put it into your
~/.irbrc file. And it will load with every new irb session.
if defined?(Rails::Console) ActiveRecord::Base.logger = Logger.new(STDOUT) end
From now on you’ll have a full control over your active record queries and you’ll see all the SQL comming from them. No more n + 1 queries and no more mistakes. Pure power of raw SQL.
Would you like to get top 5 links on Programming every Monday?
Sign up to Programming Digest and stay up to date!
Did you like the article? Send me a comment!