Adds missing native PostgreSQL data types to ActiveRecord and convenient querying extensions for ActiveRecord and Arel for Rails 4.x
If it is a bug please open an issue on
Github. If you need help using
the gem please ask the question on
Stack Overflow. Be sure to tag the
question with DockYard
so we can find it.
Add this line to your application's Gemfile:
gem 'postgres_ext'
And then execute:
$ bundle
Or install it yourself as:
$ gem install postgres_ext
Just require 'postgres_ext'
and use ActiveRecord as you normally would! postgres_ext extends
ActiveRecord's data type handling and query methods in both Arel and
ActiveRecord.
Where are the datatypes from PostgresExt 1.x? ActiveRecord 4.x includes all the data types that PostgresExt added to ActiveRecord 3.2.x. We'll be adding more datatypes as we come across them.
To work on postgres_ext locally, follow these steps:
- Run
bundle install
, this will install (almost) all the development dependencies - Run
gem install byebug
(not a declared dependency to not break CI) - Run
bundle exec rake db:setup
, this will set up the.env
file necessary to run the tests and set up the database - Run
bundle exec rake db:create
, this will create the test database - Run
bundle exec rake db:migrate
, this will set up the database tables required by the test - Run
BUNDLE_GEMFILE='gemfiles/Gemfile.activerecord-4.0.x' bundle install --quiet
to create the Gemfile.lock for 4.0. - Run
BUNDLE_GEMFILE='gemfiles/Gemfile.activerecord-4.1.x' bundle install --quiet
to create the Gemfile.lock for 4.1. - Run
bundle exec rake test:all
to run tests against all supported versions of Active Record
Releases happen in CircleCI when a tag is pushed to the repository.
To create a release, you will need to do the following:
- Change the version in
lib/postgres_ext/version.rb
to the new version and create a PR with the change. - Once the PR is merged, switch to the master branch and
git pull
. git tag <version from version.rb>
git push origin --tags
CircleCI will see the tag push, build, and release a new version of the library.