Skip to content

Add support to complex resources of PostgreSQL, like data types, array associations, and auxiliary statements (CTE)

License

Notifications You must be signed in to change notification settings

radiopaedia/torque-postgresql

 
 

Repository files navigation

Torque PostgreSQL

CircleCI Code Climate Gem Version

Description

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.

Installation

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

Usage

These are the currently available features:

Data types

Structs

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

Querying

How to Contribute

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.

License

Copyright © 2017- Carlos Silva. See The MIT License for further details.

About

Add support to complex resources of PostgreSQL, like data types, array associations, and auxiliary statements (CTE)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%