NAME

Catalyst::TraitFor::Model::DBIC::Schema::ConnectInfo::Several - support for several connect_info entries.

SYNOPSIS

package MyApp::Model::DB;

use Moose;
use namespace::autoclean;
extends 'Catalyst::Model::DBIC::Schema';

__PACKAGE__->config(
    {
        traits            => ['ConnectInfo::Several'],
        schema_class      => 'MyApp::Schema',
        connect_info      => {
            active_connection => 'mysql_devel',
            mysql_devel       => [ 'dbi:mysql:db_devel', 'user1', 'pass1' ],
            mysql_production  => [ 'dbi:mysql:db_prod',  'user2', 'pass2' ],
        },
    }
);

#
# or in application config
#
<Model::DB>
    <connect_info>
        active_connection   mysql_devel
        <mysql_devel>
            dns             dbi:mysql:db_devel
            user            user1
            password        pass1
        </mysql_devel>
        <mysql_prod>
            dns             dbi:mysql:db_prod
            user            user2
            password        pass2
        </mysql_prod>
    </connect_info>
</Model::DB>

DESCRIPTION

Enable connect_info to be hash with several named connections defined inside, and choose active one with active_connection. Also, set AutoCommit option for you to 1, if you don't set it yet.

This extension will do something only if you set active_connection, otherwise it just do nothing, like it was not used at all.

TODO

Write tests.

REPOSITORY

Project is hosted at GitHub:

git://github.com/cub-uanic/c-t-m-dbic-schema-connectinfo-several.git

SEE ALSO

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

AUTHOR

Oleg Kostyuk, <cub at cpan.org>

COPYRIGHT & LICENSE

Copyright 2009 Oleg Kostyuk.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.