Class: Sequel::Postgres::CreateTableGenerator

Inherits:
Schema::Generator show all
Defined in:
lib/sequel/adapters/shared/postgres.rb

Instance Method Summary collapse

Methods inherited from Schema::Generator

#dump_columns, #dump_constraints, #dump_indexes

Instance Method Details

#exclude(elements, opts = OPTS) ⇒ Object

Add an exclusion constraint when creating the table. Elements should be an array of 2 element arrays, with the first element being the column or expression the exclusion constraint is applied to, and the second element being the operator to use for the column/expression to check for exclusion.

Example:

exclude([[:col1, '&&'], [:col2, '=']])
# EXCLUDE USING gist (col1 WITH &&, col2 WITH =)

Options supported:

:name

Name the constraint with the given name (useful if you may need to drop the constraint later)

:using

Override the index_method for the exclusion constraint (defaults to gist).

:where

Create a partial exclusion constraint, which only affects a subset of table rows, value should be a filter expression.



66
67
68
# File 'lib/sequel/adapters/shared/postgres.rb', line 66

def exclude(elements, opts=OPTS)
  constraints << {:type => :exclude, :elements => elements}.merge!(opts)
end