view release on metacpan or search on metacpan
$D->filter({ source_events => 'added' })->diff || {}
};
# All changes to existing unique_constraints (ignoring added or deleted)
# excluding those named or within sources named Album or Genre:
$hash = $D->filter_out({ events => [qw(added deleted)] })
->filter_out('Album','Genre')
->filter('constraints')
->diff;
# All changes to relationship attrs except for 'cascade_delete' in
# relationships named 'artists':
$hash = $D->filter_out('relationships/artists.attrs.cascade_delete')
->filter('relationships/*.attrs')
->diff;
## DESCRIPTION
General-purpose schema differ for [DBIx::Class](https://metacpan.org/pod/DBIx::Class) to identify changes between two DBIC Schemas.
Currently tracks added/deleted/changed events and deep diffing across 5 named types of source data:
- columns
- relationships
"+Test::DummyClass"
],
relationships => {
customers2 => {
_event => "added"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
}
},
City => {
_event => "changed",
table_name => "city1"
},
FilmCategory => {
'Artist:columns/timestamp.size'
Attributes with sub hashes can be matched as well. For example, to match only changes in `list`
_within_ `extra` (which is where DBIC puts the list of possible values for enum columns):
'Artist:columns/my_enum.extra.list'
The structure is specific to the type. The dot-separated path applies to the data returned by [column\_info](https://metacpan.org/pod/DBIx::Class::ResultSource#column_info) for columns and
[relationship\_info](https://metacpan.org/pod/DBIx::Class::ResultSource#relationship_info) for relationships. For instance,
the following matches changes to `cascade_delete` of a specific relationship named 'some\_rel'
in the 'Artist' source:
'Artist:relationships/some_rel.attrs.cascade_delete'
Filter arguments can also match _broadly_ using the wildcard asterisk character (`*`). For
instance, to match _'isa'_ changes in any source:
'*:isa'
The system also accepts ambiguous/partial match strings and tries to "DWIM". So, the above can also
be written simply as:
'isa'
lib/DBIx/Class/Schema/Diff.pm view on Meta::CPAN
$D->filter({ source_events => 'added' })->diff || {}
};
# All changes to existing unique_constraints (ignoring added or deleted)
# excluding those named or within sources named Album or Genre:
$hash = $D->filter_out({ events => [qw(added deleted)] })
->filter_out('Album','Genre')
->filter('constraints')
->diff;
# All changes to relationship attrs except for 'cascade_delete' in
# relationships named 'artists':
$hash = $D->filter_out('relationships/artists.attrs.cascade_delete')
->filter('relationships/*.attrs')
->diff;
=head1 DESCRIPTION
General-purpose schema differ for L<DBIx::Class> to identify changes between two DBIC Schemas.
Currently tracks added/deleted/changed events and deep diffing across 5 named types of source data:
=over
lib/DBIx/Class/Schema/Diff.pm view on Meta::CPAN
"+Test::DummyClass"
],
relationships => {
customers2 => {
_event => "added"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
}
},
City => {
_event => "changed",
table_name => "city1"
},
FilmCategory => {
lib/DBIx/Class/Schema/Diff.pm view on Meta::CPAN
'Artist:columns/timestamp.size'
Attributes with sub hashes can be matched as well. For example, to match only changes in C<list>
I<within> C<extra> (which is where DBIC puts the list of possible values for enum columns):
'Artist:columns/my_enum.extra.list'
The structure is specific to the type. The dot-separated path applies to the data returned by L<column_info|DBIx::Class::ResultSource#column_info> for columns and
L<relationship_info|DBIx::Class::ResultSource#relationship_info> for relationships. For instance,
the following matches changes to C<cascade_delete> of a specific relationship named 'some_rel'
in the 'Artist' source:
'Artist:relationships/some_rel.attrs.cascade_delete'
Filter arguments can also match I<broadly> using the wildcard asterisk character (C<*>). For
instance, to match I<'isa'> changes in any source:
'*:isa'
The system also accepts ambiguous/partial match strings and tries to "DWIM". So, the above can also
be written simply as:
'isa'
t/01_basic.t view on Meta::CPAN
"+Test::DummyClass",
],
relationships => {
customers2 => {
_event => "added"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
},
table_name => "sakila.address"
},
City => {
_event => "changed",
table_name => "city1",
constraints => {
t/01_basic.t view on Meta::CPAN
"-Test::DummyClass"
],
relationships => {
customers2 => {
_event => "deleted"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 0
}
}
}
},
table_name => "address"
},
City => {
_event => "changed",
table_name => "city",
constraints => {
t/03_filter.t view on Meta::CPAN
"+Test::DummyClass"
],
relationships => {
customers2 => {
_event => "added"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
},
table_name => "sakila.address"
}
};
is_deeply(
$Diff->filter('Address')->diff,
t/03_filter.t view on Meta::CPAN
Address => {
_event => "changed",
relationships => {
customers2 => {
_event => "added"
},
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
}
},
City => {
_event => "changed",
constraints => {
primary => {
_event => "deleted"
t/03_filter.t view on Meta::CPAN
);
my $only_address_staffs_relationship = {
Address => {
_event => "changed",
relationships => {
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
}
},
};
is_deeply(
$Diff->filter('Address:relationships/st*')->diff,
$only_address_staffs_relationship,
t/03_filter.t view on Meta::CPAN
is_nullable => 1
}
}
}
}
},
"Filter to only info 'is_nullable' or 'size' + isa"
);
is_deeply(
$Diff->filter(qw(table_name relationships/*.attrs.cascade_delete))->diff,
{
Address => {
_event => "changed",
relationships => {
staffs => {
_event => "changed",
diff => {
attrs => {
cascade_delete => 1
}
}
}
},
table_name => "sakila.address"
},
City => {
_event => "changed",
table_name => "city1"
}
},
"Filter to only relationship cascade_delete attrs + table_name"
);
is_deeply(
$Diff->filter('relationships')->filter_out('*.attrs')->diff,
{
Address => {
_event => "changed",
relationships => {
customers2 => {
_event => "added"
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Actor",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.actor_id" => "self.actor_id"
},
source => "{schema_class}::Result::FilmActor"
}
},
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::City",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::City"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Customer"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Staff"
},
stores => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Store"
}
},
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Category",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.category_id" => "self.category_id"
},
source => "{schema_class}::Result::FilmCategory"
}
},
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::City",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
addresses => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::Address"
},
country => {
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Country",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
cities => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::City",
cond => {
"foreign.country_id" => "self.country_id"
},
source => "{schema_class}::Result::City"
}
},
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Film",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmActor"
},
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmCategory"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Inventory"
},
language => {
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Film"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/04_schema_data.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Language",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
},
film_original_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.original_language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
}
},
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Inventory"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.rental_id" => "self.rental_id"
},
source => "{schema_class}::Result::Payment"
},
staff => {
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
attrs => {
accessor => "single",
cascade_copy => 0,
cascade_delete => 0,
cascade_update => 1,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.manager_staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Store"
}
},
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Customer"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Inventory"
},
manager_staff => {
t/04_schema_data.t view on Meta::CPAN
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.staff_id" => "self.manager_staff_id"
},
source => "{schema_class}::Result::Staff"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Staff"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Actor",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.actor_id" => "self.actor_id"
},
source => "{schema_class}::Result::FilmActor"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::City",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::City"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Customer"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Staff"
},
stores => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Store"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Category",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.category_id" => "self.category_id"
},
source => "{schema_class}::Result::FilmCategory"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::City",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
addresses => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::Address"
},
country => {
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Country",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
cities => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::City",
cond => {
"foreign.country_id" => "self.country_id"
},
source => "{schema_class}::Result::City"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Film",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmActor"
},
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmCategory"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Inventory"
},
language => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Film"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/05_schema_data_prune.t view on Meta::CPAN
},
isa => [
"{schema_class}::Result::Language",
"DBIx::Class::InflateColumn::DateTime",
@Core_ISA,
],
relationships => {
film_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
},
film_original_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.original_language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Inventory"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.rental_id" => "self.rental_id"
},
source => "{schema_class}::Result::Payment"
},
staff => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
attrs => {
accessor => "single",
cascade_copy => 0,
cascade_delete => 0,
cascade_update => 1,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.manager_staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Store"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Customer"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Inventory"
},
manager_staff => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.staff_id" => "self.manager_staff_id"
},
source => "{schema_class}::Result::Staff"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Staff"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
data_type => "timestamp",
datetime_undef_if_invalid => 1,
default_value => "\\\"current_timestamp\"",
is_nullable => 0
}
},
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.actor_id" => "self.actor_id"
},
source => "{schema_class}::Result::FilmActor"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::City",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::City"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Customer"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Staff"
},
stores => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Store"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
name => {
data_type => "varchar",
is_nullable => 0,
size => 25
}
},
relationships => {
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.category_id" => "self.category_id"
},
source => "{schema_class}::Result::FilmCategory"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
data_type => "timestamp",
datetime_undef_if_invalid => 1,
default_value => "\\\"current_timestamp\"",
is_nullable => 0
}
},
relationships => {
addresses => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.city_id" => "self.city_id"
},
source => "{schema_class}::Result::Address"
},
country => {
t/05_schema_data_prune.t view on Meta::CPAN
data_type => "timestamp",
datetime_undef_if_invalid => 1,
default_value => "\\\"current_timestamp\"",
is_nullable => 0
}
},
relationships => {
cities => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::City",
cond => {
"foreign.country_id" => "self.country_id"
},
source => "{schema_class}::Result::City"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.customer_id" => "self.customer_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/05_schema_data_prune.t view on Meta::CPAN
title => {
data_type => "varchar",
is_nullable => 0,
size => 255
}
},
relationships => {
film_actors => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmActor",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmActor"
},
film_categories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::FilmCategory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::FilmCategory"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Inventory"
},
language => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.film_id" => "self.film_id"
},
source => "{schema_class}::Result::Film"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
t/05_schema_data_prune.t view on Meta::CPAN
name => {
data_type => "char",
is_nullable => 0,
size => 20
}
},
relationships => {
film_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
},
film_original_languages => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Film",
cond => {
"foreign.original_language_id" => "self.language_id"
},
source => "{schema_class}::Result::Film"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.inventory_id" => "self.inventory_id"
},
source => "{schema_class}::Result::Inventory"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.rental_id" => "self.rental_id"
},
source => "{schema_class}::Result::Payment"
},
staff => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
payments => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Payment",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Payment"
},
rentals => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Rental",
cond => {
"foreign.staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Rental"
},
store => {
attrs => {
accessor => "single",
cascade_copy => 0,
cascade_delete => 0,
cascade_update => 1,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Store",
cond => {
"foreign.manager_staff_id" => "self.staff_id"
},
source => "{schema_class}::Result::Store"
}
},
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Address",
cond => {
"foreign.address_id" => "self.address_id"
},
source => "{schema_class}::Result::Address"
},
customers => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Customer",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Customer"
},
inventories => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Inventory",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Inventory"
},
manager_staff => {
t/05_schema_data_prune.t view on Meta::CPAN
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.staff_id" => "self.manager_staff_id"
},
source => "{schema_class}::Result::Staff"
},
staffs => {
attrs => {
accessor => "multi",
cascade_copy => 0,
cascade_delete => 0,
is_depends_on => 0,
join_type => "LEFT"
},
class => "{schema_class}::Result::Staff",
cond => {
"foreign.store_id" => "self.store_id"
},
source => "{schema_class}::Result::Staff"
}
},
t/lib/TestSchema/Sakila/Result/Actor.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::FilmActor>
=cut
__PACKAGE__->has_many(
"film_actors",
"TestSchema::Sakila::Result::FilmActor",
{ "foreign.actor_id" => "self.actor_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UTtfCAGXGENKnwGIwF6paA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Address.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Customer>
=cut
__PACKAGE__->has_many(
"customers",
"TestSchema::Sakila::Result::Customer",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staffs
Type: has_many
Related object: L<TestSchema::Sakila::Result::Staff>
=cut
__PACKAGE__->has_many(
"staffs",
"TestSchema::Sakila::Result::Staff",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 stores
Type: has_many
Related object: L<TestSchema::Sakila::Result::Store>
=cut
__PACKAGE__->has_many(
"stores",
"TestSchema::Sakila::Result::Store",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2IpqcMwZA7j+9RoW5A7Z7g
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Category.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::FilmCategory>
=cut
__PACKAGE__->has_many(
"film_categories",
"TestSchema::Sakila::Result::FilmCategory",
{ "foreign.category_id" => "self.category_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FUFmM8sj+adV0Szue+HLfQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/City.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Address>
=cut
__PACKAGE__->has_many(
"addresses",
"TestSchema::Sakila::Result::Address",
{ "foreign.city_id" => "self.city_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 country
Type: belongs_to
Related object: L<TestSchema::Sakila::Result::Country>
=cut
t/lib/TestSchema/Sakila/Result/Country.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::City>
=cut
__PACKAGE__->has_many(
"cities",
"TestSchema::Sakila::Result::City",
{ "foreign.country_id" => "self.country_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:thoN1+OTcGL++MC+Djcryg
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Customer.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila::Result::Payment",
{ "foreign.customer_id" => "self.customer_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 rentals
Type: has_many
Related object: L<TestSchema::Sakila::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila::Result::Rental",
{ "foreign.customer_id" => "self.customer_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VjyzmGea6edtdAUrjNJakQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Film.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::FilmActor>
=cut
__PACKAGE__->has_many(
"film_actors",
"TestSchema::Sakila::Result::FilmActor",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 film_categories
Type: has_many
Related object: L<TestSchema::Sakila::Result::FilmCategory>
=cut
__PACKAGE__->has_many(
"film_categories",
"TestSchema::Sakila::Result::FilmCategory",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 inventories
Type: has_many
Related object: L<TestSchema::Sakila::Result::Inventory>
=cut
__PACKAGE__->has_many(
"inventories",
"TestSchema::Sakila::Result::Inventory",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ulh+bL2NSPJo0qWtNss1pA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Inventory.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila::Result::Rental",
{ "foreign.inventory_id" => "self.inventory_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oOSD/75feHU/lQ7Op28KYw
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Language.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Film>
=cut
__PACKAGE__->has_many(
"film_languages",
"TestSchema::Sakila::Result::Film",
{ "foreign.language_id" => "self.language_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 film_original_languages
Type: has_many
Related object: L<TestSchema::Sakila::Result::Film>
=cut
__PACKAGE__->has_many(
"film_original_languages",
"TestSchema::Sakila::Result::Film",
{ "foreign.original_language_id" => "self.language_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JK+DOUbIw1Lhrmp6PE2Q4A
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Rental.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila::Result::Payment",
{ "foreign.rental_id" => "self.rental_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staff
Type: belongs_to
Related object: L<TestSchema::Sakila::Result::Staff>
=cut
t/lib/TestSchema/Sakila/Result/Staff.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila::Result::Payment",
{ "foreign.staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 rentals
Type: has_many
Related object: L<TestSchema::Sakila::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila::Result::Rental",
{ "foreign.staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 store
Type: belongs_to
Related object: L<TestSchema::Sakila::Result::Store>
=cut
t/lib/TestSchema/Sakila/Result/Staff.pm view on Meta::CPAN
Type: might_have
Related object: L<TestSchema::Sakila::Result::Store>
=cut
__PACKAGE__->might_have(
"store",
"TestSchema::Sakila::Result::Store",
{ "foreign.manager_staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vsAR5vX9nl/POAW1SXr5vA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila/Result/Store.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila::Result::Customer>
=cut
__PACKAGE__->has_many(
"customers",
"TestSchema::Sakila::Result::Customer",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 inventories
Type: has_many
Related object: L<TestSchema::Sakila::Result::Inventory>
=cut
__PACKAGE__->has_many(
"inventories",
"TestSchema::Sakila::Result::Inventory",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staffs
Type: has_many
Related object: L<TestSchema::Sakila::Result::Staff>
=cut
__PACKAGE__->has_many(
"staffs",
"TestSchema::Sakila::Result::Staff",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 manager_staff
Type: belongs_to
Related object: L<TestSchema::Sakila::Result::Staff>
=cut
t/lib/TestSchema/Sakila2/Result/Actor.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::FilmActor>
=cut
__PACKAGE__->has_many(
"film_actors",
"TestSchema::Sakila2::Result::FilmActor",
{ "foreign.actor_id" => "self.actor_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UTtfCAGXGENKnwGIwF6paA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Address.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Customer>
=cut
__PACKAGE__->has_many(
"customers",
"TestSchema::Sakila2::Result::Customer",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staffs
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Staff>
=cut
__PACKAGE__->has_many(
"staffs",
"TestSchema::Sakila2::Result::Staff",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 stores
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Store>
=cut
__PACKAGE__->has_many(
"stores",
"TestSchema::Sakila2::Result::Store",
{ "foreign.address_id" => "self.address_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2IpqcMwZA7j+9RoW5A7Z7g
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Category.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::FilmCategory>
=cut
__PACKAGE__->has_many(
"film_categories",
"TestSchema::Sakila2::Result::FilmCategory",
{ "foreign.category_id" => "self.category_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FUFmM8sj+adV0Szue+HLfQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/City.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Address>
=cut
__PACKAGE__->has_many(
"addresses",
"TestSchema::Sakila2::Result::Address",
{ "foreign.city_id" => "self.city_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 country
Type: belongs_to
Related object: L<TestSchema::Sakila2::Result::Country>
=cut
t/lib/TestSchema/Sakila2/Result/Country.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::City>
=cut
__PACKAGE__->has_many(
"cities",
"TestSchema::Sakila2::Result::City",
{ "foreign.country_id" => "self.country_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:thoN1+OTcGL++MC+Djcryg
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Customer.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila2::Result::Payment",
{ "foreign.customer_id" => "self.customer_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 rentals
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila2::Result::Rental",
{ "foreign.customer_id" => "self.customer_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VjyzmGea6edtdAUrjNJakQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Film.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::FilmActor>
=cut
__PACKAGE__->has_many(
"film_actors",
"TestSchema::Sakila2::Result::FilmActor",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 film_categories
Type: has_many
Related object: L<TestSchema::Sakila2::Result::FilmCategory>
=cut
__PACKAGE__->has_many(
"film_categories",
"TestSchema::Sakila2::Result::FilmCategory",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 inventories
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Inventory>
=cut
__PACKAGE__->has_many(
"inventories",
"TestSchema::Sakila2::Result::Inventory",
{ "foreign.film_id" => "self.film_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ulh+bL2NSPJo0qWtNss1pA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Inventory.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila2::Result::Rental",
{ "foreign.inventory_id" => "self.inventory_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oOSD/75feHU/lQ7Op28KYw
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Language.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Film>
=cut
__PACKAGE__->has_many(
"film_languages",
"TestSchema::Sakila2::Result::Film",
{ "foreign.language_id" => "self.language_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 film_original_languages
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Film>
=cut
__PACKAGE__->has_many(
"film_original_languages",
"TestSchema::Sakila2::Result::Film",
{ "foreign.original_language_id" => "self.language_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JK+DOUbIw1Lhrmp6PE2Q4A
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Rental.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila2::Result::Payment",
{ "foreign.rental_id" => "self.rental_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staff
Type: belongs_to
Related object: L<TestSchema::Sakila2::Result::Staff>
=cut
t/lib/TestSchema/Sakila2/Result/Staff.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Payment>
=cut
__PACKAGE__->has_many(
"payments",
"TestSchema::Sakila2::Result::Payment",
{ "foreign.staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 rentals
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Rental>
=cut
__PACKAGE__->has_many(
"rentals",
"TestSchema::Sakila2::Result::Rental",
{ "foreign.staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 store
Type: belongs_to
Related object: L<TestSchema::Sakila2::Result::Store>
=cut
t/lib/TestSchema/Sakila2/Result/Staff.pm view on Meta::CPAN
Type: might_have
Related object: L<TestSchema::Sakila2::Result::Store>
=cut
__PACKAGE__->might_have(
"store",
"TestSchema::Sakila2::Result::Store",
{ "foreign.manager_staff_id" => "self.staff_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07010 @ 2013-02-17 16:15:04
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vsAR5vX9nl/POAW1SXr5vA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
t/lib/TestSchema/Sakila2/Result/Store.pm view on Meta::CPAN
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Customer>
=cut
__PACKAGE__->has_many(
"customers",
"TestSchema::Sakila2::Result::Customer",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 inventories
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Inventory>
=cut
__PACKAGE__->has_many(
"inventories",
"TestSchema::Sakila2::Result::Inventory",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 staffs
Type: has_many
Related object: L<TestSchema::Sakila2::Result::Staff>
=cut
__PACKAGE__->has_many(
"staffs",
"TestSchema::Sakila2::Result::Staff",
{ "foreign.store_id" => "self.store_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 manager_staff
Type: belongs_to
Related object: L<TestSchema::Sakila2::Result::Staff>
=cut