GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CATALYST::TRAITFOR::MODEL::DBIC::SCHEMA::SCHEMAPROXY (3)

.ds Aq ’

NAME

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

CONTENTS

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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CATALYST::TRAITFOR::MODEL::DBIC::SCHEMA::SCHEMAPROXY (3) 2012-08-14

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.