X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FPK.pm;h=b532a338ab3070a72688679e4128fc7d0484dc73;hb=6a94f7f49486ca5ad76cfaf1e380bbb787da7e0e;hp=ab135e0b604a138f940bd011adaf70c8fb26882b;hpb=103647d504eeadac7d179057e9f4d5eda0cd7c1b;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/PK.pm b/lib/DBIx/Class/PK.pm index ab135e0..b532a33 100644 --- a/lib/DBIx/Class/PK.pm +++ b/lib/DBIx/Class/PK.pm @@ -4,7 +4,7 @@ use strict; use warnings; use Tie::IxHash; -use base qw/Class::Data::Inheritable/; +use base qw/DBIx::Class::Row/; __PACKAGE__->mk_classdata('_primaries' => {}); @@ -43,6 +43,11 @@ define one or more columns as primary key for this class sub set_primary_key { my ($class, @cols) = @_; + # check if primary key columns are valid columns + for (@cols) { + $class->throw( "Column $_ can't be used as primary key because it isn't defined in $class" ) + unless $class->has_column($_); + } my %pri; tie %pri, 'Tie::IxHash', map { $_ => {} } @cols; $class->_primaries(\%pri);