[Catalyst] connecting to more than one database
jagdish eashwar
jagdish.eashwar at gmail.com
Thu Jul 3 02:14:44 BST 2008
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=3Dstatic dbi:mysql:hardware 'jag'
'passwd' '{ AutoCommit =3D> 1 }'
perl script/hardware_create.pl model CommonDB DBIC::Schema
Myhardware::Schema::CommonDB create=3Dstatic dbi:mysql:hardware 'jag' 'pass=
wd'
'{ AutoCommit =3D> 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 =3D>
'Myhardware::Schema::MyhardwareDB::Hardware', 'hw_emp_id');
# in Hardware.pm
#hardware belongs to employee
__PACKAGE__->belongs_to(hw_bt_emp_id =3D>
'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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20080703/a256d=
cd8/attachment.htm
More information about the Catalyst
mailing list