X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FModel%2FDBIC%2FSchema.pm;h=161021cc69dce7f1c2c58a3a62696438a10ba18b;hb=45b101914d8e7130178e9f9748deda25992b6317;hp=3de478275c40a68bf9eb7ec0082bd0160b414164;hpb=4f907946f731283a5b498dccd893bd14939b2b10;p=catagits%2FCatalyst-Model-DBIC-Schema.git diff --git a/lib/Catalyst/Model/DBIC/Schema.pm b/lib/Catalyst/Model/DBIC/Schema.pm index 3de4782..161021c 100644 --- a/lib/Catalyst/Model/DBIC/Schema.pm +++ b/lib/Catalyst/Model/DBIC/Schema.pm @@ -5,18 +5,20 @@ use mro 'c3'; extends 'Catalyst::Model'; with 'CatalystX::Component::Traits'; -our $VERSION = '0.42'; +our $VERSION = '0.61'; $VERSION = eval $VERSION; use namespace::autoclean; use Carp::Clan '^Catalyst::Model::DBIC::Schema'; use Data::Dumper; use DBIx::Class (); +use Module::Runtime qw/use_module/; use Catalyst::Model::DBIC::Schema::Types - qw/ConnectInfo LoadedClass SchemaClass Schema/; + qw/ConnectInfo SchemaClass Schema/; -use MooseX::Types::Moose qw/ArrayRef Str ClassName Undef/; +use MooseX::Types::Moose qw/Str/; +use MooseX::Types::LoadableClass qw/LoadableClass/; =head1 NAME @@ -33,7 +35,7 @@ A typical usage of the helper script would be: script/myapp_create.pl model FilmDB DBIC::Schema MyApp::Schema::FilmDB \ create=static dbi:mysql:filmdb dbusername dbpass \ - quote_char='`' name_sep='.' + quote_names=1 If you are unfamiliar with L, see L first. @@ -169,13 +171,12 @@ C namespace. This parameter is required. =head2 connect_info -This is an arrayref of connection parameters, which are specific to your -C (see your storage type documentation for more details). -If you only need one parameter (e.g. the DSN), you can just pass a string -instead of an arrayref. +This is a hashref or arrayref of connection parameters, which are specific to +your C (see your storage type documentation for more details). If +you only need one parameter (e.g. the DSN), you can just pass a string. This is not required if C already has connection information -defined inside itself (which isn't highly recommended, but can be done) +defined inside itself (which isn't highly recommended, but can be done.) For L, which is the only supported C in L at the time of this writing, the @@ -220,7 +221,7 @@ Or using L: user postgres password "" auto_savepoint 1 - quote_char """ + quote_names 1 on_connect_do some SQL statement on_connect_do another SQL statement @@ -246,7 +247,7 @@ Or using L: LongReadLen: 1000000 LongTruncOk: 1 on_connect_call: 'datetime_setup' - quote_char: '"' + quote_names: 1 The old arrayref style with hashrefs for L then L options is also supported: @@ -301,6 +302,8 @@ Traits that come with the distribution: =item L +=item L + =back =head2 storage_type @@ -416,7 +419,6 @@ See L and L. has schema_class => ( is => 'ro', isa => SchemaClass, - coerce => 1, required => 1 ); @@ -433,9 +435,8 @@ has model_name => ( has _default_cursor_class => ( is => 'ro', - isa => LoadedClass, + isa => LoadableClass, default => 'DBIx::Class::Storage::DBI::Cursor', - coerce => 1 ); has schema => (is => 'rw', isa => Schema); @@ -466,7 +467,7 @@ sub BUILD { } if (exists $self->connect_info->{cursor_class}) { - eval { Class::MOP::load_class($self->connect_info->{cursor_class}) } + eval { use_module($self->connect_info->{cursor_class}) } or croak "invalid connect_info: Cannot load your cursor_class" . " ".$self->connect_info->{cursor_class}.": $@"; } @@ -652,6 +653,7 @@ Traits: L, L, L, +L, L =head1 AUTHOR @@ -674,6 +676,8 @@ ozum: Ozum Eldogan C Pavel I. Shaydo C +SineSwiper: Brendan Byrd + =head1 COPYRIGHT Copyright (c) 2006 - 2010