The row's identity. At most one per table, and never null.
No two rows share these values. Nulls are exempt on most engines.
The value must exist in another table. See ReferentialAction.
A predicate every row must satisfy.
No two rows may overlap on the given operators — the general form of
UNIQUE, used for things like non-overlapping date ranges.
PostgreSQL only. Fields on engines without it take TableConstraintTypeLike, which omits this member.
A table constraint.
Two conflicting definitions of this existed —
models/constraints.tsincludedEXCLUDE,models/indexes.tsdid not — so which members were legal depended on which module you imported the type from. This is the union of both.