Project

pp_sql

0.09
A long-lived project that still receives updates
Helps to save your eyes, when reading hardcore SQL requests in console
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

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 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

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.