Provided by: libcatalyst-model-dbic-schema-perl_0.65-1_all bug

NAME

       Catalyst::TraitFor::Model::DBIC::Schema::SchemaProxy - Proxy Schema Methods and Options
       from Model

DESCRIPTION

       Allows you to call your DBIx::Class::Schema methods directly on the Model instance, and
       passes config options to your DBIx::Class::Schema and DBIx::Class::ResultSet attributes at
       "BUILD" time.

       Methods and attributes local to your "Model" take precedence over DBIx::Class::Schema or
       DBIx::Class::ResultSet methods and attributes.

CREATING SCHEMA CONFIG ATTRIBUTES

       To create attributes in your "Schema.pm", use either Moose or Class::Accessor::Grouped,
       which is inherited from by all DBIx::Class classes automatically. E.g.:

           __PACKAGE__->mk_group_accessors(simple => qw/
               config_key1
               config_key2
               ...
           /);

       Or with Moose:

           use Moose;
           has config_key1 => (is => 'rw', default => 'default_value');

       This code can be added after the md5sum on DBIx::Class::Schema::Loader generated schemas.

       At app startup, any non-local options will be passed to these accessors, and can be
       accessed as usual via "$schema->config_key1".

       These config values go into your "Model::DB" block, along with normal config values.

CREATING RESULTSET CONFIG ATTRIBUTES

       You can create classdata on DBIx::Class::ResultSet classes to hold values from Catalyst
       config.

       The code for this looks something like this:

           package MySchema::ResultSet::Foo;

           use base 'DBIx::Class::ResultSet';

           __PACKAGE__->mk_group_accessors(inherited => qw/
               rs_config_key1
               rs_config_key2
               ...
           /);
           __PACKAGE__->rs_config_key1('default_value');

       Or, if you prefer Moose:

           package MySchema::ResultSet::Foo;

           use Moose;
           use MooseX::NonMoose;
           use MooseX::ClassAttribute;
           extends 'DBIx::Class::ResultSet';

           sub BUILDARGS { $_[2] } # important

           class_has rs_config_key1 => (is => 'rw', default => 'default_value');

           ...

           __PACKAGE__->meta->make_immutable;

           1;

       In your catalyst config, use the generated Model name as the config key, e.g.:

           <Model::DB::Users>
               strict_passwords 1
           </Model::DB::Users>

SEE ALSO

       Catalyst::Model::DBIC::Schema, DBIx::Class::Schema

AUTHOR

       See "AUTHOR" in Catalyst::Model::DBIC::Schema and "CONTRIBUTORS" in
       Catalyst::Model::DBIC::Schema.

COPYRIGHT

       See "COPYRIGHT" in Catalyst::Model::DBIC::Schema.

LICENSE

       This program is free software, you can redistribute it and/or modify it under the same
       terms as Perl itself.

perl v5.20.1                            Catalyst::TraitFor::Model::DBIC::Schema::SchemaProxy(3pm)