NAME
ObjectDB::Meta - meta object
SYNOPSIS
ObjectDB::Meta->new(
table => 'book',
columns => [qw/id author_id title/],
primary_key => 'id',
auto_increment => 'id',
relationships => {
author => {
type = 'many to one',
class => 'MyAuthor',
map => {author_id => 'id'}
}
}
);
DESCRIPTION
Meta object is used internally for describing the table schema.
Inheritance
The key feature is inheritance. You can inherit schema, add or remove columns, specify new relationships and so on.
package Parent;
use base 'MyDB';
__PACKAGE__->schema(
table => 'parent',
columns => [qw/id title/],
primary_key => 'id'
);
package Child;
use base 'Parent';
__PACKAGE__->schema->add_column('description');
Schema
table
-
Table name.
columns
-
Column names.
primary_key
-
Primary key.
auto_increment
-
Auto increment field. This field is updated as soon as object is created.
unique_keys
-
Unique keys.
relationships
-
Relationships.