use DBIx::Class::Schema::Loader::RelBuilder;
use Data::Dump qw/ dump /;
use POSIX qw//;
+use Cwd qw//;
require DBIx::Class;
__PACKAGE__->mk_ro_accessors(qw/
sub _load_external {
my $self = shift;
+ my $abs_dump_dir;
+
+ $abs_dump_dir = Cwd::abs_path($self->dump_directory)
+ if $self->dump_directory;
+
foreach my $table_class (values %{$self->classes}) {
$table_class->require;
if($@ && $@ !~ /^Can't locate /) {
warn qq/# Loaded external class definition for '$table_class'\n/
if $self->debug;
- if($self->dump_directory) {
+ if($abs_dump_dir) {
my $class_path = $table_class;
$class_path =~ s{::}{/}g;
$class_path .= '.pm';
- my $filename = $INC{$class_path};
+ my $filename = Cwd::abs_path($INC{$class_path});
croak 'Failed to locate actual external module file for '
. "'$table_class'"
if !$filename;
+ next if($filename =~ /^$abs_dump_dir/);
open(my $fh, '<', $filename)
or croak "Failed to open $filename for reading: $!";
$self->_raw_stmt($table_class,
$self->_dbic_stmt($table_class,'add_columns',@$cols);
}
else {
+ my %col_info_lc = map { lc($_), $col_info->{$_} } keys %$col_info;
$self->_dbic_stmt(
$table_class,
'add_columns',
- map { $_, $col_info->{$_} } @$cols
+ map { $_, ($col_info_lc{$_}||{}) } @$cols
);
}