I am working on two Catalyst applications and had earlier set up separate
Mysql databases for each of them. Since some of the tables that these two
applications use, are the same, I put the common tables in a third database
and created two models in each of the Catalyst applications. I am, however,
unable to set up  relationships between  tables in the common and specific
databases.

I used myapp_create.pl to create the two models:

perl script/hardware_create.pl model MyhardwareDB DBIC::Schema
Myhardware::Schema::MyhardwareDB create=static dbi:mysql:hardware 'jag'
'passwd' '{ AutoCommit => 1 }'

perl script/hardware_create.pl model CommonDB DBIC::Schema
Myhardware::Schema::CommonDB create=static dbi:mysql:hardware 'jag' 'passwd'
'{ AutoCommit => 1 }'

and then put in the relationships between the employee and hardware tables
as under:

# in Emp.pm
#employee has many hardware
__PACKAGE__->has_many(emp_hm_hw =>
'Myhardware::Schema::MyhardwareDB::Hardware', 'hw_emp_id');

# in Hardware.pm
#hardware belongs to employee
__PACKAGE__->belongs_to(hw_bt_emp_id =>
'Myhardware::Schema::CommonDB::Emp','hw_emp_id');

When I use these accessors in the tt2 templates, i get an undef error.

undef error - DBIx::Class::Relationship::Accessor::__ANON__(): Can't find
source for Myhardware::Schema::MyhardwareDB::Hardware at
/home/jag/catalyst_trials/Myhardware/root/src/usr_fragment.tt2 line 8

What am I doing wrong?

Jagdish
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to