It seems to me that as a persistence module Class::DBI has many more features than yours does. The main thing that makes your module interesting is the automatic setup. There are two approaches to that with Class::DBI right now, one being the use of Class::DBI::Loader (and setup_table calls), and the other being code generation with SQL::Translator. I think the most useful thing would be to fold some of what you did into one of these. Perhaps you could add things to Class::DBI::mysql, like a "guess_foreign_keys" method. At the moment, I'm using Class::DBI::mysql and it does a good job of setting up everything else, making the persistence section of my classes only a couple of lines long.

By the way, how do you clean up the hash that hold all the data in the superclass? Does it just grow forever, or do you have some way of doing reference counts to clean it up when objects go out of scope?


In reply to Re: Module RFC: Yet another object-persistence interface by perrin
in thread Module RFC: Yet another object-persistence interface by blokhead

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.