Skip to content

kvokka/pp_sql

Repository files navigation

PpSql

Version               Codacy Badge          Reviewed by Hound

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:

log

Or in console

console

Require

Ruby 2.4+

Rails

Rails 5.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

jetbrains

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.