X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRelationship%2FCascadeActions.pm;h=f6e59fa2d7fd8b4ad4a6638e9f4fd83a28dce339;hb=33eafbfd322ab48a2697c0ea9fadfb182fb22a36;hp=fde8f5df9624d91eaf200153541898d0ec450b21;hpb=fb61e30ca4a0670462445ed8c376eccdfe68ca71;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Relationship/CascadeActions.pm b/lib/DBIx/Class/Relationship/CascadeActions.pm index fde8f5d..f6e59fa 100644 --- a/lib/DBIx/Class/Relationship/CascadeActions.pm +++ b/lib/DBIx/Class/Relationship/CascadeActions.pm @@ -3,6 +3,7 @@ package # hide from PAUSE use strict; use warnings; +use DBIx::Class::Carp; our %_pod_inherit_config = ( @@ -26,7 +27,12 @@ sub delete { my $ret = $self->next::method(@rest); foreach my $rel (@cascade) { - $self->search_related($rel)->delete_all; + if( my $rel_rs = eval{ $self->search_related($rel) } ) { + $rel_rs->delete_all; + } else { + carp "Skipping cascade delete on relationship '$rel' - related resultsource '$rels{$rel}{class}' is not registered with this schema"; + next; + } } $guard->commit;