DBSchema::ForeignKey(3p)

NAME
DBIx::DBSchema::ForeignKey - Foreign key objects

SYNOPSIS
  use DBIx::DBSchema::ForeignKey;

  $foreign_key = new DBIx::DBSchema::ForeignKey (
    { 'columns' => [ 'column_name' ],
      'table'   => 'foreign_table',
    }
  );

  $foreign_key = new DBIx::DBSchema::ForeignKey (
    {
      'constraint' => 'constraint_name',
      'columns'    => [ 'column_name', 'column2' ],
      'table'      => 'foreign_table',
      'references' => [ 'foreign_column', 'foreign_column2' ],
      'match'      => 'MATCH FULL', # or MATCH SIMPLE
      'on_delete'  => 'NO ACTION', # on clauses: NO ACTION / RESTRICT /
      'on_update'  => 'RESTRICT',  #           CASCADE / SET NULL / SET DEFAULT
    }
  );

DESCRIPTION
DBIx::DBSchema::ForeignKey objects represent a foreign key.

METHODS

new HASHREF | OPTION, VALUE, ...
    Creates a new DBIx::DBschema::ForeignKey object.

    Accepts either a hashref or a list of options and values.

    Options are:

    constraint - constraint name
    columns - List reference of column names
    table - Foreign table name
    references - List reference of column names in foreign table
    match -
    on_delete -
    on_update -

constraint [ CONSTRAINT_NAME ]
    Returns or sets the constraint name

table [ TABLE_NAME ]
    Returns or sets the foreign table name

columns [ LISTREF ]
    Returns or sets the columns.

columns_sql
    Returns a comma-joined list of columns, suitable for an SQL statement.

references [ LISTREF ]
    Returns or sets the referenced columns.

references_sql
    Returns a comma-joined list of referenced columns, suitable for an SQL statement.

match [ TABLE_NAME ]
    Returns or sets the MATCH clause

on_delete [ ACTION ]
    Returns or sets the ON DELETE clause

on_update [ ACTION ]
    Returns or sets the ON UPDATE clause

sql_foreign_key
    Returns an SQL FOREIGN KEY statement.

cmp OTHER_INDEX_OBJECT
    Compares this object to another supplied object. Returns true if they are have the same table, columns and references.

AUTHOR
Ivan Kohler <ivan-dbix-dbschema@420.am>

Copyright (c) 2013 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

BUGS
Should give in and Mo or Moo.

SEE ALSO
DBIx::DBSchema::Table, DBIx::DBSchema, DBI