X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;h=85a1028f89fe070f8d4a6497bf386fb1e81cf495;hb=d4daee7b54e38e4b3d3d0a77759bddc1a4ede6e5;hp=d78618543034a59fae09b47261c8fabddf9427d9;hpb=48850f9af126611240b7843d0f7913c96f30f5ba;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/SQL/Translator/Parser/DBIx/Class.pm b/lib/SQL/Translator/Parser/DBIx/Class.pm index d786185..85a1028 100644 --- a/lib/SQL/Translator/Parser/DBIx/Class.pm +++ b/lib/SQL/Translator/Parser/DBIx/Class.pm @@ -36,10 +36,10 @@ sub parse { $dbicschema ||= $args->{'package'}; my $limit_sources = $args->{'sources'}; - die 'No DBIx::Class::Schema' unless ($dbicschema); + croak 'No DBIx::Class::Schema' unless ($dbicschema); if (!ref $dbicschema) { eval "use $dbicschema;"; - die "Can't load $dbicschema ($@)" if($@); + croak "Can't load $dbicschema ($@)" if($@); } my $schema = $tr->schema; @@ -51,7 +51,8 @@ sub parse { my @monikers = sort $dbicschema->sources; if ($limit_sources) { my $ref = ref $limit_sources || ''; - die "'sources' parameter must be an array or hash ref" unless $ref eq 'ARRAY' || ref eq 'HASH'; + $dbicschema->throw_exception ("'sources' parameter must be an array or hash ref") + unless( $ref eq 'ARRAY' || ref eq 'HASH' ); # limit monikers to those specified in my $sources; @@ -107,7 +108,8 @@ sub parse { if ($colinfo{is_nullable}) { $colinfo{default} = '' unless exists $colinfo{default}; } - my $f = $table->add_field(%colinfo) || die $table->error; + my $f = $table->add_field(%colinfo) + || $dbicschema->throw_exception ($table->error); } $table->primary_key($source->primary_columns); @@ -268,7 +270,7 @@ sub parse { name => $view_name, fields => [ $source->columns ], $source->view_definition ? ( 'sql' => $source->view_definition ) : () - ) || die $schema->error; + ) || $dbicschema->throw_exception ($schema->error); $source->_invoke_sqlt_deploy_hook($view); } @@ -335,7 +337,7 @@ from a DBIx::Class::Schema instance ## Standalone use MyApp::Schema; use SQL::Translator; - + my $schema = MyApp::Schema->connect; my $trans = SQL::Translator->new ( parser => 'SQL::Translator::Parser::DBIx::Class',