[Dbix-class] Using and inter-linking multiple databases via DBIC: "Can't find source"

will trillich will.trillich at serensoft.com
Fri Oct 18 17:26:31 GMT 2013


We are using Catalyst for a web app. We've split off the authentication
database to facilitate multiple different apps using the same user
credentials, but we're having trouble linking the auth db to the biz-info
db.

The generalized user/team credentials and related info are in Auth, and the
actual business info for this app is in DB. Here's an object from the DB
database:


package Learn::Schema::DB::Result::TeamEmail;

#...
__PACKAGE__->belongs_to( team =3D> 'Learn::Schema::Auth::Result::Team' );


Note that we're trying to get DB::TeamEmail to refer to Auth::Team here.
And below is the related object from the Auth database:


package Learn::Schema::Auth::Result::Team;

#...
__PACKAGE__->has_many( emails =3D> 'Learn::Schema::DB::Result::TeamEmail',
'team' );


At this point we expect

*$team->emails_rs*

to work but instead we get

Can't find source for Learn::Schema::DB::Result::TeamEmail

because TeamEmail isn't in $self->source_registrations (full names) or
$self->class_mappings (brief names) in the DBIx::Class::Schema::source()
method.


Pointers? Is there a different approach? Got a clue stick?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20131018/a58=
66e17/attachment.htm


More information about the DBIx-Class mailing list