use warnings;
use Tie::IxHash;
-use base qw/Class::Data::Inheritable/;
+use base qw/DBIx::Class::Row/;
__PACKAGE__->mk_classdata('_primaries' => {});
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);