Contents
Constraints
The constraint module defines six classes: Constraint derived from DbSchemaObject, classes CheckConstraint, PrimaryKey, ForeignKey and UniqueConstraint derived from Constraint, and ConstraintDict derived from DbObjectDict.
Constraint
Class Constraint is derived from ~pyrseas.dbobject.DbSchemaObject and represents a constraint on a database table. Its keylist attributes are the schema name, the table name and the constraint name.
Check Constraint
CheckConstraint is derived from Constraint and represents a CHECK constraint.
Primary Key
PrimaryKey is derived from Constraint and represents a primary key constraint.
Foreign Key
ForeignKey is derived from Constraint and represents a foreign key constraint.
The following shows a foreign key segment of a map returned by to_map and expected as argument by ConstraintDict.from_map exemplifying various possibilities:
{'t1_fgn_key1': { 'columns': ['c2', 'c3'], 'on_delete': 'restrict', 'on_update': 'set null', 'references': {'columns': ['pc2', 'pc1'], 'schema': 's1', 'table': 't2'} } }
Unique Constraint
UniqueConstraint is derived from Constraint and represents a UNIQUE, non-primary key constraint.
Constraint Dictionary
Class ConstraintDict is a dictionary derived from ~pyrseas.dbobject.DbObjectDict and represents the collection of constraints in a database.