Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I haven't used DBIC myself, but I've used CDBI for several projects, and had a look at the docs for DBIC (plus some of my colleagues have used it).

AFAICT, DBIC seems to be superiour. Besides the fact that it's actively maintained by some of the key people in the Perl community, it offers several features that were difficult to achieve using CDBI.

One of the most important of those is the ability to select across criteria from multiple tables (i.e. joining on other tables, and returning objects based on a certain criteria across all those tables). In CDBI you are limited to the table your object maps to, unless you roll your own.

DBIC also has full support for many to many relationships, which seems fairly fundamental to me. In fact, I think the limitations in CDBI are due not to the fact that the no one's gotten around to implementing them, but because its design makes implementing these things extremely difficult. (I have to admit, having had only a cursory look at the CDBI code, I'm basically speculating here).

Although you didn't ask about it, one of the main limitations in HTML::Template in working with ORM's is that you can't pass it an object directly (I think HTML::Template::Plugin::Dot gets around this, but I haven't tried it).

Of course, Catalyst doesn't prevent you in using any of these systems. If it did, I'm sure it wouldn't be as successful as it has been.

In reply to Re: Why did DBIC overtake CDBI? by Mutant
in thread Why did DBIC overtake CDBI? by mattr

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2024-04-23 21:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found