package Maypole::Model::CDBI;
use strict;
+use Data::Dumper;
+
=head1 NAME
Maypole::Model::CDBI - Model class based on Class::DBI
# sub _column_info {
sub _column_info {
my $self = shift;
- warn "__column_info called by ", join (', ', caller), "\n";
my $dbh = $self->db_Main;
my $meta; # The info we are after
# required / nullable
$meta->{$colname}{nullable} = $row->{NULLABLE};
-
- $meta->{$colname}{required} = ($row->{NULLABLE} && $row->{NULLABLE} == 0) ? 1 : 0;
+ $meta->{$colname}{required} = ( $meta->{$colname}{nullable} == 0 ) ? 1 : 0;
# default
if (defined $row->{COLUMN_DEF}) {
my ($class, $columns) = @_;
$class->_column_info() unless ref $class->COLUMN_INFO;
my $column_info = $class->COLUMN_INFO;
+
if ($columns) {
foreach my $colname ( @$columns ) {
if ($class->_isa_class($colname)) {
warn "$colname is not a recognised column in this class ", ref $class || $class, "\n";
next;
}
- $column_info->{required} = 1;
+ $column_info->{$colname}{required} = 1;
}
$class->COLUMN_INFO($column_info);
}
- return [ grep ($column_info->{$_}{required}, keys %{$column_info}) ] ;
+ return [ grep ($column_info->{$_}{required}, keys %$column_info) ] ;
}
=head2 column_required