DOKK / manpages / debian 12 / librose-db-object-perl / Rose::DB::Object::Metadata::UniqueKey.3pm.en
Rose::DB::Object::Metadata::UniqueKey(3pm) User Contributed Perl Documentation Rose::DB::Object::Metadata::UniqueKey(3pm)

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

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

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.

This method is an alias for the add_columns method.
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.
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.

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 the entire list of columns that make up the unique key.
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.
Get or set the Rose::DB::Object::Metadata-derived object that this unique key belongs to.

John C. Siracusa (siracusa@gmail.com)

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.

2022-10-14 perl v5.34.0