[Dbix-class] using DBIx::Class::CDBICompat

Matt S Trout dbix-class at trout.me.uk
Tue May 22 20:37:25 GMT 2007


On Tue, May 22, 2007 at 02:42:36PM -0400, John Goulah wrote:
> >A class that uses base DBIx::Class::ResultSet and then just do
> >
> >__PACKAGE__->resultset_class('My::ResultSet::Class');
> >
> >in any table class that needs it. ResultSetManager is just a convenience
> >syntax to that, and causes enough problems in more complex cases there's
> >serious consideration being given to deprecating it in favour of saner
> >syntax.
> 
> 
> 
> That works fine, but I would rather scope the package under myDB rather than
> MyApp, but when I put the ResultSet dir under myDB directory I get "Cannot
> load schema class" errors (under MyApp its fine).  I assume its trying to
> load this class as a table class.  Is there any way around this?  If not
> where is the recommended place to put these?   It seems best to keep it
> close to the DB classes, but I'm not sure Catalyst will let me.

That's because you've called load_classes with no arguments, see the ::Schema
docs.

What I'd tend to do is have 'MyApp::Schema::Foo' and then
'MyApp::ResultSet::Foo' - putting the DB in 'MyDB' is awful design, your
project should only use *one* top-level namespace.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director    Want a managed development or deployment platform?
 Shadowcat Systems Ltd.  Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/             http://www.shadowcatsystems.co.uk/ 



More information about the Dbix-class mailing list