logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

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.

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.

License

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

perl v5.36.0                                       2023-10-26              Catalyst::Trai...ema::Replicated(3pm)

Name

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

See Also

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

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
               }
           });

See Also