[Catalyst] Session::Store::DBIC and session table (postgres)

Fernan Aguero fernan.aguero at gmail.com
Wed Nov 14 12:45:22 GMT 2012


Hi,

I'm having this issue with my catalyst app where the session table is
not fully qualified in the generated SQL statement:

[error] Caught exception in engine "DBIx::Class::ResultSet::delete():
DBI Exception: DBD::Pg::st execute failed: ERROR:  relation "sessions"
does not exist [for Statement "DELETE FROM sessions WHERE ( id = ? )"
with ParamValues:
1='session:c7d07ff1ec06ebf2c6fc37c3cb8f36b117053384'] at
/usr/local/lib/perl5/site_perl/5.8.9/Catalyst/Plugin/Session/Store/DBIC.pm
line 207

The sessions table lives in my PostgreSQL database in a separate
schema 'webapp'.

So I would expect the statement to be:
DELETE FROM webapp.sessions WHERE ( id = ? )

I also have the table name fully qualified in the corresponding DBIC
schema class (GUS/Webapp/Sessions.pm):

package GUS::Webapp::Sessions;

use strict;
use warnings;

use base 'DBIx::Class';

__PACKAGE__->load_components(qw/Core PK::Auto/);
__PACKAGE__->table("webapp.sessions");
[...]

And in my YAML configuration I have set the dbic_class accordingly:
session:
  dbic_class: GUS::Webapp::Sessions
  cookie_name: tcsnp_development_cookie
  cookie_expires: 0

Is this a bug in Session::Store::DBIC? Anyone has an idea of why this
is failing or how to fix it?

So far all other session related functionality works as expected
(storing and reading session data). And this same error goes away if I
delete the corresponding cookie in my browser.

Thanks in advance!

--
fernan



More information about the Catalyst mailing list