NAME
Catalyst::TraitFor::Model::DBIC::Schema::ConnectInfo::Several - support for several connect_info
entries.
VERSION
Version is 0.04
SYNOPSIS
package MyApp::Model::DB;
use Moose;
use namespace::autoclean;
extends 'Catalyst::Model::DBIC::Schema';
__PACKAGE__->config(
{
traits => ['ConnectInfo::Several'],
schema_class => 'MyApp::Schema',
active_connection => 'mysql_devel',
connection => {
mysql_devel => [ 'dbi:mysql:db_devel', 'user1', 'pass1' ],
mysql_production => [ 'dbi:mysql:db_prod', 'user2', 'pass2' ],
},
}
);
#
# or in application config
#
<Model::DB>
traits ConnectInfo::Several
active_connection mysql_devel
<connection>
<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>
</connection>
</Model::DB>
DESCRIPTION
You can define several named connections in connection
hash, and selectr which one should be used currently with active_connection
. You shouldn't define connect_info
, it will be set for you, depending on what you set in active_connection
and connection
. Also, set AutoCommit
option for you to 1
, if you don't set it yet.
This trait will do something only if you set active_connection
, otherwise it just do nothing, like it was not used at all.
TODO
Write tests.
SEE ALSO
Catalyst::Model::DBIC::Schema, DBIx::Class, Catalyst
SUPPORT
Report bugs or feature requests
http://www.assembla.com/spaces/Catalyst-TraitFor-Model-DBIC-Schema-ConnectInfo-Several/tickets
Git repository
git clone git://git.assembla.com/Catalyst-TraitFor-Model-DBIC-Schema-ConnectInfo-Several.git
AUTHOR
Oleg Kostyuk, <cub#cpan.org>
ACKNOWLEDGEMENTS
Matt S. Trout <mst#shadowcatsystems.co.uk>
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.