DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it. |
DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it.
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().
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"
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.
Older the DBI manpage 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 the DBI manpage and the DBD::Pg manpage modules that do not work correctly.
the DBI manpage version 1.50 and the DBD::Pg manpage 1.43 are known to work.
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.
DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it. |