Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

DBIx::Class::Manual::Troubleshooting
Got a problem? Shoot it.

DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it.


NAME

DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it.

``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().

Tracing SQL

The DBIC_TRACE environment variable controls SQL tracing, so to see what is happening try


  export DBIC_TRACE=1

Alternatively use the storage->debug class method:-


  $class->storage->debug(1);

To send the output somewhere else set debugfh:-


  $class->storage->debugfh(IO::File->new('/tmp/trace.out', 'w');

Alternatively you can do this with the environment variable too:-


  export DBIC_TRACE="1=/tmp/trace.out"

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.

Can't get last insert ID under Postgres with serial primary keys

Older DBI and the DBD::Pg manpage versions do not handle last_insert_id 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 DBI and the DBD::Pg manpage modules that do not work correctly.

DBI version 1.50 and the DBD::Pg manpage 1.43 are known to work.

... 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 MySchema you need to specify a fully qualified namespace: package MySchema::MyTable; for example.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy