GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ROSE::DB::OBJECT::STD::METADATA (3)

.ds Aq ’

NAME

Rose::DB::Object::Std::Metadata - Standardized database object metadata.

CONTENTS

SYNOPSIS



  use Rose::DB::Object::Std::Metadata;

  $meta = Rose::DB::Object::Std::Metadata->new(class => Product);
  # ...or...
  # $meta = Rose::DB::Object::Std::Metadata->for_class(Product);

  $meta->table(products);

  $meta->columns
  (
    id          => { type => int, primary_key => 1 },
    name        => { type => varchar, length => 255 },
    description => { type => text },
    category_id => { type => int },

    status =>
    {
      type      => varchar,
      check_in  => [ active, inactive ],
      default   => inactive,
    },

    start_date  => { type => datetime },
    end_date    => { type => datetime },

    date_created     => { type => timestamp, default => now }, 
    last_modified    => { type => timestamp, default => now },
  );

  $meta->add_unique_key(name);

  $meta->foreign_keys
  (
    category =>
    {
      class       => Category,
      key_columns =>
      {
        category_id => id,
      }
    },
  );

  ...



DESCRIPTION

Rose::DB::Object::Std::Metadata is a subclass of Rose::DB::Object::Metadata that is designed to serve the needs of Rose::DB::Object::Std objects. See the Rose::DB::Object::Std documentations for information on what differentiates it from Rose::DB::Object.

Only the methods that are overridden are documented here. See the Rose::DB::Object::Metadata documentation for the rest.

OBJECT METHODS

<B>add_primary_key_column COLUMNB> This method is an alias for the add_primary_key_columns() method.
<B>add_primary_key_columns COLUMNSB> Since Rose::DB::Object::Std objects must have a single primary key column named id, calling this method with a COLUMNS argument of anything other than the column name id or a reference to an array containing the column name id will cause a fatal error.

In general, you do not need to use this method at all since the primary_key_columns() method is hard-coded to always return id.

<B>initialize [ARGS]B> This method does the same thing as the Rose::DB::Object::Metadata method of the same name, with one exception. If there is no column named id in the list of columns, a scalar primary key column named id is added to the column list. Then initialization proceeds as usual.
<B>primary_key_columnsB> Always returns the column name id (in list context) or a reference to an array containing the column name id (in scalar context).

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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 ROSE::DB::OBJECT::STD::METADATA (3) 2015-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.