method

add_unique_constraint

Importance_2
v7.1.3.2 - Show latest stable - 0 notes - Class: SchemaStatements
add_unique_constraint(table_name, column_name = nil, **options) public

Adds a new unique constraint to the table.

add_unique_constraint :sections, [:position], deferrable: :deferred, name: "unique_position"

generates:

ALTER TABLE "sections" ADD CONSTRAINT unique_position UNIQUE (position) DEFERRABLE INITIALLY DEFERRED

If you want to change an existing unique index to deferrable, you can use :using_index to create deferrable unique constraints.

add_unique_constraint :sections, deferrable: :deferred, name: "unique_position", using_index: "index_sections_on_position"

The options hash can include the following keys:

:name

The constraint name. Defaults to uniq_rails_<identifier>.

:deferrable

Specify whether or not the unique constraint should be deferrable. Valid values are false or :immediate or :deferred to specify the default behavior. Defaults to false.

:using_index

To specify an existing unique index name. Defaults to nil.

Show source
Register or log in to add new notes.