NAME¶
Rose::DB::Object::Metadata::PrimaryKey - Primary key metadata.
SYNOPSIS¶
use Rose::DB::Object::Metadata::PrimaryKey;
$pk = Rose::DB::Object::Metadata::PrimaryKey->new(
columns => [ 'id', 'type' ]);
MyClass->meta->primary_key($pk);
...
DESCRIPTION¶
Objects of this class store and manipulate metadata for primary keys in a
database table. Each primary 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 primary
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 primary
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 primary key. Each
column is a Rose::DB::Object::Metadata::Column-derived column object if
the primary 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 primary
key.
- delete_columns
- Delete the entire list of columns that make up the primary
key.
- name [NAME]
- Get or set the name of the primary key. Traditionally, this
is the name of the index that the database uses to maintain the primary
key, but databases vary. If left undefined, the default value is
"primary_key".
- parent [META]
- Get or set the Rose::DB::Object::Metadata-derived object
that this primary key belongs to.
- sequence_names [NAMES]
- Get or set the list of database sequence names (if any)
used to generate values for the primary key columns. The sequence names
must be in the same order as the columns. NAMES may be a list or reference
to an array of sequence names. Returns a list (in list context) or
reference to the array (in scalar context) of sequence names.
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.