Provided by: libkiokudb-backend-dbi-perl_1.22-1_all
NAME
DBIx::Class::KiokuDB - Refer to KiokuDB objects from DBIx::Class tables.
SYNOPSIS
See DBIx::Class::Schema::KiokuDB. package MyApp::DB::Result::Album; use base qw(DBIx::Class); __PACKAGE__>load_components(qw(Core KiokuDB)); __PACKAGE__->table('album'); __PACKAGE__->add_columns( id => { data_type => "integer" }, title => { data_type => "varchar" }, # the foreign key for the KiokuDB object: metadata => { data_type => "varchar" }, ); __PACKAGE__->set_primary_key('id'); # enable a KiokuDB rel on the column: __PACKAGE__->kiokudb_column('metadata');
DESCRIPTION
This DBIx::Class component provides the code necessary for DBIx::Class::Row objects to refer to KiokuDB objects stored in KiokuDB::Backend::DBI.
CLASS METHODS
kiokudb_column $rel Declares a relationship to any KiokuDB object. In future versions adding relationships to different sub-collections will be possible as well.
METHODS
store A convenience method that calls "store" in KiokuDB on all referenced KiokuDB objects, and then invokes "insert_or_update" on $self. get_kiokudb_column $col set_kiokudb_column $col, $obj store_kiokudb_column $col, $obj See DBIx::Class::Row.
OVERRIDDEN METHODS
new Recognizes objects passed in as column values, much like standard relationships do. insert Also calls "insert" in KiokuDB on all referenced objects that are not in the KiokuDB storage. update Adds a check to ensure that all referenced KiokuDB objects are in storage.