pgcli is a command-line interface for PostgreSQL that offers many improvements over
psql, like auto-completion and syntax highlighting. Wouldn't it be nice to have a convenient way to use
pgcli with your Rails app?
That's where the pgcli-rails gem comes in. It adds a
pgcli Rake task to your Rails app. Use it in place of
Add the gem to your Gemfile and run
pgcli Rake task automatically uses your
database.yml to launch pgcli with the correct connection options:
$ bin/rake pgcli Version: 1.0.0 Chat: https://gitter.im/dbcli/pgcli Mail: https://groups.google.com/forum/#!forum/pgcli Home: http://pgcli.com my_app_development> [F2] Smart Completion: ON [F3] Multiline: OFF [F4] Emacs-mode
Other ways to use it:
# Rails 5 also supports running Rake tasks via the rails command bin/rails pgcli # Connect to the test database RAILS_ENV=test bin/rake pgcli
- Rails 4.2+ using PostgreSQL
- Ruby 2.6.0+
brew install pgclito install on macOS)
How it works
pgcli-rails is simply a Rake task that reuses the existing
Rails::DBConsole command class provided by Rails. It subclasses DBConsole to execute
pgcli instead of
psql. All you need to do is require the pgcli-rails gem by placing it in your Gemfile.
There is no configuration. Like
rails dbconsole, it simply uses your ActiveRecord database connection as specified in
pgcli-rails is little more than a proof-of-concept at this point. Next steps are:
- Add tests
- Use Appraisal to test against multiple versions of Rails
If you have other ideas, open an issue on GitHub!
Code contributions are also welcome! Read CONTRIBUTING.md to get started.
The gem is available as open source under the terms of the MIT License.