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@gmail.com)
LICENSE¶
Copyright (c) 2010 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.