Replace standard ActiveRecord#to_sql
method with
anbt-sql-formatter
gem for pretty SQL code output in console. Rails log will be formatted also.
Example output:
Or in console
Ruby 2.2+
Rails 4.0+ (optional), will be injected automatically
Post.first.to_sql
for easy and clean usage with custom string you can use build-in refinement:
using PpSql::ToSqlBeautifyRefinement
Or if you need to use it wider
class MyAwesomeDecoratedString < String
include PpSql::ToSqlBeautify
end
add in Gemfile
gem 'pp_sql', group: :development
And then execute:
$ bundle
If you are pry
user, or use custom output formatter, use puts
for output whitespaces,
like puts User.all.to_sql
, or use User.all.pp_sql
.
If you do not want to rewrite default #to_sql
method you may specify
PpSql.rewrite_to_sql_method=false
in initializers.
I sound usefull this trick:
class ApplicationRecord < ActiveRecord::Base
include PpSql::ToSqlBeautify if defined?(Rails::Console)
self.abstract_class = true
end
The gem is available as open source under the terms of the MIT License.