logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Alzabo::Runtime::ForeignKey - Foreign key objects

Author

       Dave Rolsky, <autarch@urth.org>

perl v5.34.0                                       2022-06-14                   Alzabo::Runtime::ForeignKey(3pm)

Description

       Objects in this class maintain referential integrity.  This is really only useful when your RDBMS can't
       do this itself (like MySQL without InnoDB).

Inherits From

       "Alzabo::ForeignKey"

       Note: all relevant documentation from the superclass has been merged into this document.

Methods

table_fromtable_to
       Returns the relevant "Alzabo::Runtime::Table" object.

   columns_fromcolumns_to
       Returns the relevant "Alzabo::Runtime::Column" object(s) for the property as an array.

   cardinality
       Returns a two element array containing the two portions of the cardinality of the relationship.  Each
       portion will be either '1' or 'n'.

   from_is_dependentto_is_dependent
       Returns a boolean value indicating whether there is a dependency from one table to the other.

   is_one_to_oneis_one_to_manyis_many_to_one
       Returns a boolean value indicating what kind of relationship the object represents.

   is_same_relationship_as($fk)
       Given a foreign key object, this returns true if the two objects represent the same relationship.
       However, the two objects may represent the same relationship from different table's points of view.

   register_insert($new_value)
       This method takes the proposed column value for a new row and makes sure that it is valid based on
       relationship that this object represents.

       Throws: "Alzabo::Exception::ReferentialIntegrity"

   register_update($new_value)
       This method takes the proposed new value for a column and makes sure that it is valid based on
       relationship that this object represents.

       Throws: "Alzabo::Exception::ReferentialIntegrity"

   register_delete("Alzabo::Runtime::Row"object)
       Allows the foreign key to delete rows dependent on the row being deleted.  Note, this can lead to a chain
       reaction of cascading deletions.  You have been warned.

       Throws: "Alzabo::Exception::ReferentialIntegrity"

   id
       Returns a string uniquely identifying the foreign key.

   comment
       Returns the comment associated with the foreign key object, if any.

Name

       Alzabo::Runtime::ForeignKey - Foreign key objects

Synopsis

         $fk->register_insert( $value_for_column );
         $fk->register_update( $new_value_for_column );
         $fk->register_delete( $row_being_deleted );

See Also