On Thu, Feb 14, 2013 at 11:13 AM, Jesse Luehrs <d...@tozt.net> wrote:
> > Baseclass->meta->remove_method( 'BUILD' ); > > No, that's almost certainly a bad idea. I think the best option in this > case is to take this question to #catalyst or #dbix-class, and see if > they can come up with a better solution(: > How bad? :) Like bad break or bad ugly? I think the only other solution is to build my own version of Catalyst::Model::DBIC::Schema. The back story here is Catalyst::Model::DBIC::Schema blesses the DBIC Result classes into a namespace that is application-specific. $self->composed_schema($schema_class->compose_namespace(*$class*)) unless $is_installed; But, the same DBIC schema is shared by more than one application meaning the same row objects are blessed into different classes in different apps. Some of these row objects are cached and when another app attempts to thaw the object it blows up because the class name serialized into Memcached doesn't exist in that app. App1 caches, then App2 reads but blows up when trying to create App1::Model::Foo objects. So, the attempted fix was: $self->composed_schema($schema_class) unless $is_installed; so that all Result classes have the same class name. But, that line of code is in the BUILD method. -- Bill Moseley mose...@hank.org