From: Rafael Kitover Date: Sun, 18 Oct 2009 05:15:58 +0000 (+0000) Subject: change no sources error to warning, write connect_info to model with no create= option X-Git-Tag: v0.30~2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ca7cf6f02f7378154b24cc6a6d4c66dee50cf902;p=catagits%2FCatalyst-Model-DBIC-Schema.git change no sources error to warning, write connect_info to model with no create= option --- diff --git a/Changes b/Changes index a260616..5ea8956 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,9 @@ Revision history for Perl extension Catalyst::Model::DBIC::Schema +0.30 + - change no sources error to a warning (with a way to turn it off) + - write connect_info to Model without a create= option as well + 0.29 Mon Sep 7 15:31:29 EDT 2009 - support for coderef connect_info's diff --git a/lib/Catalyst/Helper/Model/DBIC/Schema.pm b/lib/Catalyst/Helper/Model/DBIC/Schema.pm index 97f313f..01c0d7d 100644 --- a/lib/Catalyst/Helper/Model/DBIC/Schema.pm +++ b/lib/Catalyst/Helper/Model/DBIC/Schema.pm @@ -4,7 +4,7 @@ use namespace::autoclean; use Moose; no warnings 'uninitialized'; -our $VERSION = '0.29'; +our $VERSION = '0.30'; $VERSION = eval $VERSION; use Carp; @@ -188,21 +188,21 @@ sub BUILD { $self->_parse_loader_args(\@args); $helper->{loader_args} = $self->_build_helper_loader_args; + } + } - my $dbi_dsn_part; - if (first { ($dbi_dsn_part) = /^(dbi):/i } @args) { - die + my $dbi_dsn_part; + if (first { ($dbi_dsn_part) = /^(dbi):/i } @args) { + die qq{DSN must start with 'dbi:' not '$dbi_dsn_part' (case matters!)} - if $dbi_dsn_part ne 'dbi'; + if $dbi_dsn_part ne 'dbi'; - $helper->{setup_connect_info} = 1; + $helper->{setup_connect_info} = 1; - $helper->{connect_info} = - $self->_build_helper_connect_info(\@args); + $helper->{connect_info} = + $self->_build_helper_connect_info(\@args); - $self->_parse_connect_info(\@args); - } - } + $self->_parse_connect_info(\@args); } $helper->{generator} = ref $self; diff --git a/lib/Catalyst/Model/DBIC/Schema.pm b/lib/Catalyst/Model/DBIC/Schema.pm index e672c31..d9fc47d 100644 --- a/lib/Catalyst/Model/DBIC/Schema.pm +++ b/lib/Catalyst/Model/DBIC/Schema.pm @@ -5,7 +5,7 @@ use mro 'c3'; extends 'Catalyst::Model'; with 'CatalystX::Component::Traits'; -our $VERSION = '0.29'; +our $VERSION = '0.30'; $VERSION = eval $VERSION; use namespace::autoclean; @@ -546,8 +546,15 @@ sub _install_rs_models { my @sources = $self->schema->sources; - die "No sources found (did you forget to define your tables?)" - unless @sources; + unless (@sources) { + warn <<'EOF' unless $ENV{CMDS_NO_SOURCES}; +******************************* WARNING *************************************** +* No sources found (did you forget to define your tables?) * +* * +* To turn off this warning, set the CMDS_NO_SOURCES environment variable. * +******************************************************************************* +EOF + } foreach my $moniker (@sources) { my $classname = "${class}::$moniker"; @@ -640,6 +647,17 @@ sub _pass_options_to_schema { __PACKAGE__->meta->make_immutable; +=head1 ENVIRONMENT + +=over 4 + +=item CMDS_NO_SOURCES + +Set this variable if you will be using schemas with no sources (tables) to +disable the warning. The warning is there because this is usually a mistake. + +=back + =head1 SEE ALSO General Catalyst Stuff: