Catalyst::TraitFor::Model::DBIC::Schema::Replicated.3pm

Langue: en

Version: 2009-11-30 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Catalyst::TraitFor::Model::DBIC::Schema::Replicated - Replicated storage support for Catalyst::Model::DBIC::Schema

SYNOPSiS

     __PACKAGE__->config({
         traits => ['Replicated']
         connect_info =>
             ['dbi:mysql:master', 'user', 'pass'],
         replicants => [
             ['dbi:mysql:slave1', 'user', 'pass'],
             ['dbi:mysql:slave2', 'user', 'pass'],
             ['dbi:mysql:slave3', 'user', 'pass'],
         ],
         balancer_args => {
           master_read_weight => 0.3
         }
     });
 
 

DESCRIPTION

Sets your storage_type to DBIx::Class::Storage::DBI::Replicated and connects replicants provided in config. See that module for supported resultset attributes.

The default ``balancer_type'' in DBIx::Class::Storage::DBI::Replicated is "::Random".

Sets the ``master_read_weight'' in DBIx::Class::Storage::DBI::Replicated::Balancer::Random to 1 by default, meaning that you have the same chance of reading from master as you do from replicants. Set to 0 to turn off reads from master.

CONFIG PARAMETERS

replicants

Array of connect_info settings for every replicant.

The following can be set via ``connect_info'' in Catalyst::Model::DBIC::Schema, or as their own parameters. If set via separate parameters, they will override the settings in "connect_info".

pool_type

See ``pool_type'' in DBIx::Class::Storage::DBI::Replicated.

pool_args

See ``pool_args'' in DBIx::Class::Storage::DBI::Replicated.

balancer_type

See ``balancer_type'' in DBIx::Class::Storage::DBI::Replicated.

balancer_args

See ``balancer_args'' in DBIx::Class::Storage::DBI::Replicated.

SEE ALSO

Catalyst::Model::DBIC::Schema, DBIx::Class, DBIx::Class::Storage::DBI::Replicated, Catalyst::TraitFor::Model::DBIC::Schema::Caching

AUTHOR

See ``AUTHOR'' in Catalyst::Model::DBIC::Schema and ``CONTRIBUTORS'' in Catalyst::Model::DBIC::Schema. 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.