PpSql
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
Require
Ruby 2.4+
Rails
Rails 4.2+ (optional), will be injected automatically
Legacy
You can use version ~> 0.2
of this gem with Ruby 2.2, 2.3 and/or Rails 4.0, 4.1
Usage
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
Installation
add in Gemfile
gem 'pp_sql', group: :development
And then execute:
$ bundle
With other formatters
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
.
With Rails
If you do not want to rewrite default #to_sql
method you may specify PpSql.rewrite_to_sql_method=false
in initializers.
You can also disable log formatting by specifying PpSql.add_rails_logger_formatting=false
in initializers.
Add to Application record
I found usefull this trick:
class ApplicationRecord < ActiveRecord::Base
include PpSql::ToSqlBeautify if defined?(Rails::Console)
self.abstract_class = true
end
Supported by
License
The gem is available as open source under the terms of the MIT License.