X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FManual%2FTroubleshooting.pod;h=eaa35fe4b6fb757f184150b01dfa9346c60340c8;hb=0472cc0463f566c7d8d1b1fdf887fe6f60024560;hp=6d7dc863fba8d3c132efb50dc110f4f5ea7a8a08;hpb=92b858c9bac109da404a6ee1471920bb3d99ccb3;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Manual/Troubleshooting.pod b/lib/DBIx/Class/Manual/Troubleshooting.pod index 6d7dc86..eaa35fe 100644 --- a/lib/DBIx/Class/Manual/Troubleshooting.pod +++ b/lib/DBIx/Class/Manual/Troubleshooting.pod @@ -4,14 +4,18 @@ DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it. =head2 "Can't locate storage blabla" +You're trying to make a query on a non-connected schema. Make sure you got +the current resultset from $schema->resultset('Artist') on a schema object +you got back from connect(). + =head2 Tracing SQL -The C environment variable controls +The C environment variable controls SQL tracing, so to see what is happening try - export DBIX_CLASS_STORAGE_DBI_DEBUG=1 + export DBIC_TRACE=1 -Alternatively use the Cdebug> class method:- +Alternatively use the C<< storage->debug >> class method:- $class->storage->debug(1); @@ -21,7 +25,35 @@ To send the output somewhere else set debugfh:- Alternatively you can do this with the environment variable too:- - export DBIX_CLASS_STORAGE_DBI_DEBUG="1=/tmp/trace.out" + export DBIC_TRACE="1=/tmp/trace.out" + +=head2 Can't locate method result_source_instance + +For some reason the table class in question didn't load fully, so the +ResultSource object for it hasn't been created. Debug this class in +isolation, then try loading the full schema again. + +=head2 Can't get last insert ID under Postgres with serial primary keys + +Older L and L versions do not handle C +correctly, causing code that uses auto-incrementing primary key +columns to fail with a message such as: + + Can't get last insert id at /.../DBIx/Class/Row.pm line 95 + +In particular the RHEL 4 and FC3 Linux distributions both ship with +combinations of L and L modules that do not work +correctly. + +L version 1.50 and L 1.43 are known to work. + +=head2 ... Can't locate object method "source_name" via package ... + +There's likely a syntax error in the table class referred to elsewhere +in this error message. In particular make sure that the package +declaration is correct, so for a schema C< MySchema > you need to +specify a fully qualified namespace: C< package MySchema::MyTable; > +for example. =cut