The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Rose::DB::Object::Metadata::UniqueKey - Unique key metadata.

SYNOPSIS

  use Rose::DB::Object::Metadata::UniqueKey;

  $uk = Rose::DB::Object::Metadata::UniqueKey->new(
          columns => [ 'name', 'color' ]);

  MyClass->meta->add_unique_key($uk);
  ...

DESCRIPTION

Objects of this class store and manipulate metadata for unique keys in a database table. Each unique key is made up of one or more columns.

OBJECT METHODS

add_column [COLUMNS]

This method is an alias for the add_columns method.

add_columns [COLUMNS]

Add COLUMNS to the list of columns that make up the unique key. COLUMNS must be a list or reference to an array of column names or Rose::DB::Object::Metadata::Column-derived objects.

columns [COLUMNS]

Get or set the list of columns that make up the unique key. COLUMNS must a list or reference to an array of column names or Rose::DB::Object::Metadata::Column-derived objects.

This method returns all of the columns that make up the unique key. Each column is a Rose::DB::Object::Metadata::Column-derived column object if the unique key's parent has a column object with the same name, or just the column name otherwise. In scalar context, a reference to an array of columns is returned. In list context, a list is returned.

column_names

Returns a list (in list context) or reference to an array (in scalar context) of the names of the columns that make up the unique key.

delete_columns

Delete the entire list of columns that make up the unique key.

name [NAME]

Get or set the name of the unique key. This name should be unique among all unique keys for a given table. Traditionally, it is the name of the index that the database uses to maintain the unique key, but practices vary. If left undefined, the default value is a string created by joining the column_names with underscores.

parent [META]

Get or set the Rose::DB::Object::Metadata-derived object that this unique key belongs to.

AUTHOR

John C. Siracusa (siracusa@mindspring.com)

COPYRIGHT

Copyright (c) 2007 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.