DBIx-Class-Bootstrap-Simple
view release on metacpan or search on metacpan
lib/DBIx/Class/Bootstrap/Simple.pm view on Meta::CPAN
objects => {
# class must have an inflate and deflate method
# inflate method is Class->inflate(value_to_inflate)
# deflate is $yourinflated_object->deflate;
stash => 'YourApp::DB::DataType::Stash',
},
references => {
company => {
class => 'YourApp::DB::Company',
column => 'company_id',
cascade_update => 1, #defaults to 0
cascade_delete => 1, #defaults to 0
cascade_copy => 1, #defaults to 0
},
password => {
class => 'YourApp::DB::Password',
column => 'password_id',
},
}
);
Your application:
lib/DBIx/Class/Bootstrap/Simple.pm view on Meta::CPAN
objects => {
# class must have an inflate and deflate method
# inflate method is Class->inflate(value_to_inflate)
# deflate is $yourinflated_object->deflate;
stash => 'YourApp::DB::DataType::Stash',
},
references => {
company => {
class => 'YourApp::DB::Company',
column => 'company_id',
cascade_update => 1, # defaults to 0
cascade_delete => 1, # defaults to 0
cascade_copy => 1, # defaults to 0
},
password => {
class => 'YourApp::DB::Password',
column => 'password_id',
},
banjos => {
class => 'YourApp::DB::Banjos',
column => 'user_id',
# or, if mapping columns differ
lib/DBIx/Class/Bootstrap/Simple.pm view on Meta::CPAN
my $remote_col = $reference->{foreign_column} || $reference->{column};
my $table = $table_conf->{table};
{
if ($reference->{has_many})
{
$module->has_many(
$rkey, $reference->{class},
{ "foreign.$remote_col", "self.$local_col" },
{
cascade_delete => $reference->{cascade_delete} || 0,
cascade_copy => $reference->{cascade_copy} || 0,
cascade_update => $reference->{cascade_update} || 0,
accessor => 'multi',
},
);
$reference->{class}->belongs_to( $remote_col => $module );
}
else
{
my $meth = $reference->{might_have} ? 'might_have' : 'has_one';
$module->$meth(
$local_col, $reference->{class},
{ "foreign.$remote_col", "self.$local_col" },
{
cascade_delete => $reference->{cascade_delete} || 0,
cascade_copy => $reference->{cascade_copy} || 0,
cascade_update => $reference->{cascade_update} || 0,
accessor => 'filter',
},
);
}
}
}
}
}
sub _nonlocal
( run in 0.725 second using v1.01-cache-2.11-cpan-49f99fa48dc )