NAME
Fey::FK - Represents a foreign key
SYNOPSIS
my $fk = Fey::FK->new( source => $user_id_from_user_table,
target => $user_id_from_department_table,
);
DESCRIPTION
This class represents a foreign key, connecting one or more columns in one table to columns in another table.
METHODS
This class provides the following methods:
Fey::FK->new()
This method constructs a new Fey::FK
object. It takes the following parameters:
source_columns - required
target_columns - required
These parameters must be either a single
Fey::Column
object or an array reference containing one or more column objects.The number of columns for the source and target must be the same.
$fk->source_table()
$fk->target_table()
Returns the appropriate Fey::Table
object.
$fk->source_columns()
$fk->target_columns()
Returns the appropriate list of Fey::Column
objects as an array reference.
$fk->column_pairs()
Returns an array reference. Each element of this reference is in turn a two-element array reference of Fey::Column
objects, one from the source table and one from the target.
$fk->has_tables( $table1, $table2 )
This method returns true if the foreign key includes both of the specified tables. The talbles can be specified by name or as Fey::Table
objects.
$fk->has_column($column)
Given a Fey::Column
object, this method returns true if the foreign key includes the specified column.
$fk->is_self_referential()
This returns true if the the source and target tables for the foreign key are the same table.
$fk->pretty_print()
Returns a stringified representation of the foreign key in a pretty layout something like this:
User Message
------- -------
user_id user_id
AUTHOR
Dave Rolsky, <autarch@urth.org>
BUGS
See Fey for details on how to report bugs.
COPYRIGHT & LICENSE
Copyright 2006-2009 Dave Rolsky, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.