Author: spadkins
Date: Mon Sep 4 18:10:37 2006
New Revision: 6852
Modified:
p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm
Log:
can now configure multiple databases (App::Repository::DBI) from app.conf
(xyz_dbhost, xyz_dbname, ... for rep "xyz")
Modified: p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm Mon Sep 4 18:10:37 2006
@@ -340,17 +340,29 @@
my $options = $self->{context}{options} || {};
my $config_from_options = 1;
+ my $config_from_ext_options = 0;
foreach my $var qw(dbdsn dbdriver dbhost dbport dbname dbuser dbpass
dbschema dbioptions) {
if ($self->{$var}) {
$config_from_options = 0;
- last;
+ }
+ if ($options->{"${name}_${var}"}) {
+ $config_from_ext_options = 1;
}
}
if ($config_from_options) {
- foreach my $var qw(dbdsn dbdriver dbhost dbport dbname dbuser
dbpass dbschema dbioptions) {
- if (defined $options->{$var}) {
- $self->{$var} = $options->{$var};
+ if ($config_from_ext_options) {
+ foreach my $var qw(dbdsn dbdriver dbhost dbport dbname dbuser
dbpass dbschema dbioptions) {
+ if (defined $options->{"${name}_${var}"}) {
+ $self->{$var} = $options->{"${name}_${var}"};
+ }
+ }
+ }
+ else {
+ foreach my $var qw(dbdsn dbdriver dbhost dbport dbname dbuser
dbpass dbschema dbioptions) {
+ if (defined $options->{$var}) {
+ $self->{$var} = $options->{$var};
+ }
}
}
}