torque-postgresql
is a plugin that enhances Ruby on Rails enabling easy access to existing PostgreSQL advanced resources, such as data types and queries statements. Its features are designed to be as similar to Rails architecture and they work as smoothly as possible.
100% plug-and-play, with optional configurations, so that can be adapted to your project's design pattern.
To install torque-postgresql you need to add the following to your Gemfile:
gem 'torque-postgresql', '~> 1.1' # For Rails < 6.0
gem 'torque-postgresql', '~> 2.0' # For Rails >= 6.0 < 6.1
gem 'torque-postgresql', '~> 2.0.4' # For Rails >= 6.1
gem 'torque-postgresql', '~> 3.0' # For Rails >= 7.0
Also, run:
$ bundle
Or, for non-Gemfile related usage, simply:
gem install torque-postgresql
These are the currently available features:
If you are using create type X as (field_name Y, other_field_name Z)
, torque-postgresql will
automatically map a subclass of ::Torque::Struct to that type using the singular-form ActiveRecord
table naming rules.
EG if you have a type named my_struct, columns of that struct in your app
will be automatically mapped to instances of class MyStruct < Torque::Struct
, if it is defined.
Nesting is supported; (eg structs can have fields that are themselves structs/arrays of structs).
- Arel
- Has Many
- Belongs to Many
- Dynamic Attributes
- Distinct On
- Insert All
- Auxiliary Statements
- Inherited Tables
To start, simply fork the project, create a .env
file following this example:
DATABASE_URL="postgres://USER:PASSWORD@localhost/DATABASE"
Run local tests using:
$ bundle install
$ bundle exec rake spec
Finally, fix and send a pull request.
Copyright © 2017- Carlos Silva. See The MIT License for further details.