X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;h=6225724440a721a61cfff1e35822d64f11144633;hb=0009fa4905ab7f4585c4b470bfe049666bce8e17;hp=4ec18ef582d6fbbfe56bd789f63576f5d4c703d1;hpb=a14d1055a6377d400f6bdfdcec2b4b605d003584;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/SQL/Translator/Parser/DBIx/Class.pm b/lib/SQL/Translator/Parser/DBIx/Class.pm index 4ec18ef..6225724 100644 --- a/lib/SQL/Translator/Parser/DBIx/Class.pm +++ b/lib/SQL/Translator/Parser/DBIx/Class.pm @@ -40,11 +40,12 @@ sub parse { # print Dumper($dbixschema->registered_classes); - foreach my $tableclass ($dbixschema->registered_classes) + #foreach my $tableclass ($dbixschema->registered_classes) + foreach my $moniker ($dbixschema->sources) { - eval "use $tableclass"; - print("Can't load $tableclass"), next if($@); - my $source = $tableclass->result_source_instance; + #eval "use $tableclass"; + #print("Can't load $tableclass"), next if($@); + my $source = $dbixschema->source($moniker); my $table = $schema->add_table( name => $source->name, @@ -57,13 +58,15 @@ sub parse { # data_type is a number, column_type is text? my %colinfo = ( name => $col, - default_value => '', size => 0, is_auto_increment => 0, is_foreign_key => 0, is_nullable => 0, %{$source->column_info($col)} ); + if ($colinfo{is_nullable}) { + $colinfo{default} = '' unless exists $colinfo{default}; + } my $f = $table->add_field(%colinfo) || die $table->error; } $table->primary_key($source->primary_columns);