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/