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 3.1+
Rails
Rails 7.0+ (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:
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
Contributing
Running the tests requires sqlite. To run the tests for different combinations of dependency
versions, run bundle exec appraisal install
followed by bundle exec appraisal rake
.
License
The gem is available as open source under the terms of the MIT License.