[Catalyst] connecting to more than one database

Marcello Romani mromani at ottotecnica.com
Thu Jul 3 13:40:31 BST 2008


Oleg Pronin ha scritto:
> How do you imagine yourself a request with join beetween 2 tables in 
> different databases?
> This is the reason you can't make relationships between different schemas.

If it's not a typo, the two schemas connect to the same database on the 
mysql side...

Anyway, I think DBIC sees them as two different databases, even if their 
connections strings are the same...

> 
> 2008/7/3 jagdish eashwar <jagdish.eashwar at gmail.com 
> <mailto:jagdish.eashwar at gmail.com>>:
> 
>     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: Catalyst at lists.scsys.co.uk <mailto:Catalyst at lists.scsys.co.uk>
>     Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>     Searchable archive:
>     http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>     Dev site: http://dev.catalyst.perl.org/
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/


-- 
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com



More information about the Catalyst mailing list