[CDBI] Class::DBI vs DBIx::Class

Ryan Tate lists at ryantate.com
Tue Jan 17 18:30:47 GMT 2006


DBIx::Class isn't quite easy or clear enough yet, at least not from
where I sit. (Not that this is a surprise or a slam, considering the
module is at 0.04xxx.)

If you want to learn Class::DBI, you can do pretty well just reading
the docs for that one module, and learning the methods for that one
class.

For DBIx::Class, I need to read (or am left to guess I need to read):

DBIx::Class::Manual  	
DBIx::Class::Manual::Cookbook 	
DBIx::Class::Manual::FAQ 	
DBIx::Class::Manual::Intro

While it's great that so much effort has been put into docs at such an
early stage, this setup runs counter to my instinct to just read the
dang perldoc for the dang module.

I also feel awash in classes and choices. If I go the "schema" route I
need to inherit from DBIx::Class::Core or a subclass, and also go read
up on DBIx::Class::Schema. If I go the "Simple Route" I need to know
DBIx::Class::DB  and DBIx::Class::Table  and subclass one (or both?).

 I should also take a look at DBIx::Class::CDBICompat when I'm done
with the other reading (or first?).

Already I have questions: what documentation should I read, and in
what order? How do I choose between Simple and Schema setup? Should I
read DBIx::Class::CDBICompat first, or DBIx::Class::Manual::Intro?

The first time I read the docs, I thought they were largely bare.
That's party because DBIx::Class::Manual is really a table of
contents, not a manual, listing chapters under "Sections." I thought
the content was going to be filled in later. Dumb, I know, but is this
module even needed?

I also thought the manual could have more (as others have mentioned)
on the value add brought by DBIx::Class, even right up there in the
info.

The Cookbook is very cool, taking the sort of stuff CDBI keeps on the
wiki and putting it right there in the distro, but I couldn't make
sense of the join stuff, which actually lives in 
DBIx::Class::ResultSet, and I don't even know where that module fits
in the big scheme of things (at first it seems to be clearly the type
of obj returned by ->search but then if it is a result set why do I
control joins from here?) so I just resolve to put off figuring it out
to when I have more time.

Again I'm not trying to slam the module, just pointing out what is
slowing up adoption for one relatively busy person. Whenever I look at
DBIx::Class, I feel like I'm drowning.




More information about the ClassDBI mailing list