Catalyst::TraitFor::Model::DBIC::Schema::Replicated(3p)

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.

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.