Hello list, we have the following situation:
- we are migrating mod_perl application to Catalyst under mod_perl2 and use DBIC as persistence layer. - the apache server hosts two (in fact even more) virtual hosts with the same application but different configurations (e.g. one for test and one for production). - beneath other configuration items, like template-root we want the different virtual hosts to use different database connections. Problem: As far as I can tell from the source code, DBIx::Class::Storage::DBI caches the database handle in '_dbh' which results in always using the first database handle that inititated a connection. So we end up having the configured $dbh of whatever virtual host is called first within a newly created Apache process. Question: Is this a design decision to support only one DB connection per process or is this a little bug that could be fixed by caching the dbh with some additional meta info (e.g. the connection parameters à la DBI->connect_cached)? We fixed the problem for us by sub-classing DBIx::Class::Storage::DBI::Pg and overloading the _dbh accessor, but I'd rather fix this in the storage class. Best Regards, Andreas -- ----------------------------------------------------------------- Dembach Goo Informatik GmbH & Co. KG Andreas Dembach fon +49-221-801 483 0 Rathenauplatz 9 fax +49-221-801 483 20 D-50674 Cologne emergency +49-180-50 50 70 919 Germany smtp ad +at+ dg-i +dot+ net pgp fingerprint 25C2 8C94 015A E92C 3C67 E9B7 2E39 6FFC 277D 6700 _______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ Searchable Archive: http://www.mail-archive.com/[email protected]/
