Toby Corkindale wrote:
Hi, I seem to have hit an issue in a specific case: Deployment, to a Postgres DB, when DBIx::Class is running from a PAR file.The crux is that DBIx::Class::Storage::DBI::Pg has overridden sqlt_type() to return 'PostgreSQL' rather than the default behaviour from DBIx::Class::Storage::DBI, which just returns $dbh->{Driver}{Name}. The long form of the name is required when calling out to SQL::Translator, in order that it finds the correct Producer module.However, when running from a PAR file, for some reason the Class::C3::Componentised::ensure_class_loaded() method is failing to find and load DBIx::Class::Storage::DBI::Pg during DBIx::Class::Schema::Storage::DBI::_populate_dbh() around line 1639 (of version 0.08010).I've verified that the PAR file does actually contain that Pg.pm in the correct place..but I wondered if anyone else had seen this problem, or had an idea where I should be looking next?
Right, I think I've worked out where the problem lies now.Class::C3::Componentised's ensure_class_found() method *does not work* in the following situation: When the class exists inside a PAR file which is being accessed via the "use PAR 'archive.par';" method.
I attach the simplest test case I could create for this. To demonstrate, try: $ parl foobar.par test_c3.pl Foo::Bar found. $ ./test_c3_par.pl Foo::Bar not found at ./test_c3_par.pl line 7.
test_c3_par.pl
Description: Perl program
foobar.par
Description: Binary data
_______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk