Deprecated for Rails 5.2+

As of ActiveRecord 5.2 all of the functionality provided by this gem is supported in the core ActiveRecord.

This gem can still be added to a Rails 5.2 project to maintain backward compatibility while migrating.
However it will not be supported in future Rails versions.
The schema_plus_indexes gem can still be used to support the shortcut index syntax.

schema_plus_pg_indexes

t.string:last_name,index:{expression:'upper(last_name)'}t.string:last_name,index:{operator_class:'varchar_pattern_ops'}t.string:last_name,index:{with::address,operator_class:{last_name:'varchar_pattern_ops',address:'text_pattern_ops'}}t.string:last_name,index:{case_sensitive:false}t.indexexpression:'upper(last_name)',name:'my_index'# no column given, must give a name

Case insensitivity is a shorthand for the expression lower(last_name)

The ActiveRecord::ConnectionAdapters::IndexDefinition object has the corresponding methods defined on it: #expression, #operator_classes and #case_sensitive?

Schema_plus_pg_indexes is part of the SchemaPlus family of Ruby on Rails extension gems.

Installation

As usual:

gem"schema_plus_pg_indexes"# in a Gemfile
gem.add_dependency"schema_plus_pg_indexes"# in a .gemspec

Deprecations

SchemaPlus 1.8.x provided some options and accessors that are now available
in rails 4.2, in slightly different form. SchemaPlusPgIndexes supports the
SchemaPlus 1.8.x form but issues deprecation warnings in favor of the rails
form:

schema_dev: SchemaPlus::PgIndexes uses schema_dev to
facilitate running rspec tests on the matrix of ruby, activerecord, and database
versions that the gem supports, both locally and on
travis-ci

To to run rspec locally on the full matrix, do:

$ schema_dev bundle install
$ schema_dev rspec

You can also run on just one configuration at a time; For info, see schema_dev --help or the schema_dev README.

The matrix of configurations is specified in schema_dev.yml in
the project root.

schema_plus_core: SchemaPlus::PgIndexes uses the SchemaPlus::Core API that
provides middleware callback stacks to make it easy to extend
ActiveRecord's behavior. If that API is missing something you need for
your contribution, please head over to
schema_plus_core and open
an issue or pull request.

schema_monkey: SchemaPlus::PgIndexes is implemented as a
schema_monkey client,
using schema_monkey's
convention-based protocols for extending ActiveRecord and using middleware stacks.