[1] isa_ok($sessions_metadata->username,"EP::Common::DBI::Users"); #### [2] isa_ok($sessions_metadata->session_id,"EP::Common::DBI::Sessions"); #### ###### Users ####### package EP::Common::DBI::Users; use strict; use warnings; use base qw( EP::Common::DBI ); __PACKAGE__->table('users'); __PACKAGE__->columns(Primary => qw/username/); __PACKAGE__->columns(All => qw/password salt session_only first_name last_name institute department address telephone email/); ###### Sessions ######## package EP::Common::DBI::Sessions; use strict; use warnings; use base qw( EP::Common::DBI ); __PACKAGE__->table('sessions'); __PACKAGE__->columns(Primary => qw/id/); __PACKAGE__->columns(All => qw/a_session/); ######### Sessions_Metadata ################# package EP::Common::DBI::Sessions_Metadata; use strict; use warnings; use base qw( EP::Common::DBI ); #setup table fields __PACKAGE__->table('sessions_metadata'); __PACKAGE__->columns(Primary => qw/session_id/); __PACKAGE__->columns(Others => qw/create_date username expire query_id/); #relations __PACKAGE__->has_a(username=>'EP::Common::DBI::Users'); __PACKAGE__->has_a(session_id=>'EP::Common::DBI::Sessions');