[Dbix-class] Using DBIx::Class::Schema::Config with dbicdump

Janne Snabb snabb at epipe.com
Fri Sep 30 07:13:29 GMT 2011


On Fri, 30 Sep 2011, Marc Logghe wrote:

> I believe you can safely add that line below that section. If not you should
> consider wrapping the require in a BEGIN block yourself as explained in the
> base pragma.

Thank you but unfortunately neither of these solutions work...

Both result in the following:

DBIx::Class::ResultSet::create(): Your storage class (DBIx::Class::Storage::DBI) does not set sql_limit_dialect and you have not supplied an explicit limit_dialect in your connection_info. DBIC will attempt to use the GenericSubQ dialect, which works on most databases but can be (and often is) painfully slow. Please file an RT ticket against 'DBIx::Class::Storage::DBI' . at ./test line 17
DBIx::Class::ResultSet::create(): DBI Connection failed: Can't connect to data source 'foobar' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1248 at ./test line 17

I think the problem is that DBIx::Class::Schema::Config is supposed
to override the "connection" method of DBIx::Class::Schema, but
that does not happen if there is "use base 'DBIx::Class::Schema';"
before "__PACKAGE__->load_namespaces;" in the Schema.pm file.

The "connection" method from DBIx::Class::Schema::Config becomes
masked by the "use base 'DBIx::Class::Schema';" pragma even if I
use a BEGIN block to put DBIx::Class::Schema::Config in the name
space at the module initialization.

--
Janne Snabb / EPIPE Communications
snabb at epipe.com - http://epipe.com/



More information about the DBIx-Class mailing list