create_exclude_constraint
create_exclude_constraint(constraint_name: str, table_name: str, *elements: Any, **kw: Any) → Optional[Table]
Issue an alter to create an EXCLUDE constraint using the current migration context.
Note: This method is Postgresql specific, and additionally requires at least SQLAlchemy 1.0.
e.g.:
from alembic import op
op.create_exclude_constraint(
"user_excl",
"user",
("period", '&&'),
("group", '='),
where=("group != 'some group'")
)
Note that the expressions work the same way as that of the
ExcludeConstraint
object itself; if plain strings are passed, quoting rules must be applied manually.
Parameters:
- name – Name of the constraint.
- table_name – String name of the source table.
- elements – exclude conditions.
- where – SQL expression or SQL string with optional WHERE clause.
- deferrable – optional bool. If set, emit DEFERRABLE or NOT DEFERRABLE when issuing DDL for this constraint.
- initially – optional string. If set, emit INITIALLY
when issuing DDL for this constraint. - schema – Optional schema name to operate within.