ForeignKeyConstraint

class lsst.dax.apdb.schema_model.ForeignKeyConstraint(name: str | None, id: str, deferrable: bool = False, initially: str | None = None, description: str | None = None, annotations: ~collections.abc.Mapping[str, ~typing.Any] = <factory>, columns: list[lsst.dax.apdb.schema_model.Column] = <factory>, referenced_columns: list[lsst.dax.apdb.schema_model.Column] = <factory>, onupdate: str | None = None, ondelete: str | None = None)

Bases: Constraint

Description of foreign key constraint.

Attributes Summary

deferrable

If True then this constraint will be declared as deferrable.

description

Constraint description.

initially

Value for INITIALLY clause, only used of deferrable is True.

ondelete

What to do when parent table columns are deleted.

onupdate

What to do when parent table columns are updated.

referenced_table

Table referenced by this constraint.

Methods Summary

from_felis(dm_constr, columns)

Convert Felis constraint definition into instance of this class.

Attributes Documentation

deferrable: bool = False

If True then this constraint will be declared as deferrable.

description: str | None = None

Constraint description.

initially: str | None = None

Value for INITIALLY clause, only used of deferrable is True.

ondelete: str | None = None

What to do when parent table columns are deleted. Typical values are CASCADE, DELETE and RESTRICT.

onupdate: str | None = None

What to do when parent table columns are updated. Typical values are CASCADE, DELETE and RESTRICT.

referenced_table

Table referenced by this constraint.

Methods Documentation

classmethod from_felis(dm_constr: Constraint, columns: Mapping[str, Column]) Constraint

Convert Felis constraint definition into instance of this class.

Parameters:
dm_constfelis.datamodel.Constraint

Felis constraint definition.

columnsMapping [str, Column]

Mapping of column ID to Column instance.

Returns:
constraintConstraint

Converted constraint definition.