[Bast-commits] r8912 -
DBIx-Class/0.08/trunk/lib/DBIx/Class/Relationship
wreis at dev.catalyst.perl.org
wreis at dev.catalyst.perl.org
Sat Mar 6 17:51:59 GMT 2010
Author: wreis
Date: 2010-03-06 17:51:59 +0000 (Sat, 06 Mar 2010)
New Revision: 8912
Modified:
DBIx-Class/0.08/trunk/lib/DBIx/Class/Relationship/HasOne.pm
Log:
improvements for HasOne relationship validationn
Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Relationship/HasOne.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Relationship/HasOne.pm 2010-03-06 17:12:55 UTC (rev 8911)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Relationship/HasOne.pm 2010-03-06 17:51:59 UTC (rev 8912)
@@ -47,7 +47,7 @@
) if $f_class_loaded && !$f_class->has_column($f_key);
$cond = { "foreign.${f_key}" => "self.${pri}" };
}
- $class->_validate_cond($cond);
+ $class->_validate_has_one_condition($cond);
$class->add_relationship($rel, $f_class,
$cond,
{ accessor => 'single',
@@ -72,7 +72,7 @@
return $pri;
}
-sub _validate_cond {
+sub _validate_has_one_condition {
my ($class, $cond ) = @_;
return if $ENV{DBIC_DONT_VALIDATE_RELS};
@@ -84,6 +84,8 @@
# warning
return unless $self_id =~ /^self\.(.*)$/;
my $key = $1;
+ $class->throw_exception("Defining rel on ${class} that includes ${key} but no such column defined here yet")
+ unless $class->has_column($key);
my $column_info = $class->column_info($key);
if ( $column_info->{is_nullable} ) {
carp(qq'"might_have/has_one" must not be on columns with is_nullable set to true ($class/$key). This might indicate an incorrect use of those relationship helpers instead of belongs_to.');
More information about the Bast-commits
mailing list