Ken Y. Clark wrote:
Sterling,I don't much care about extensions and options, just "CREATE TABLE" and "DROP TABLE" with the ability to include support for auto-increment/serial or whatever a database's solution is to auto-numbering.
As one of the authors of SQL::Translator, I can comment a bit on your
project ideas. First off, this has sorta has been done numerous
times. Just search for "schema" on search.cpan.org and browse the
results. Some of the others who've tried building object models for
relational databases include SQL::Schema and DBIx::SystemCatalog
(DBIx-Renderer, to an extent, and many others to be sure). By the
0.02 release of SQL::Translator, I found myself badly in need of this
kind of layer, too, but, not liking what I saw, I decided to reinvent
my own wheel, so S::T has one, too (SQL::Translator::Schema). It's
quite difficult to come up with a single object model that encompasses
the abilities and options of every RDBMS. Some have procedures and
views and foreign keys and such, some don't. Each has different
extensions to SQL and myriad options for tables and indices and such.
However, the discussion is moot. My idea is done. Ivan Kohler's DBIx::DBSchema is exactly what I'm looking for. I'm not certain how I missed it during my search, but I did.
You're more than welcome to try to come up with something definitive and/or exhaustive, but it will probably be exhausting to you! Cf. these other modules to see if you'd rather contribute to those projects first. If you like the SQLFairy Schema objects (though some on the team even don't like what I wrote!), then you could rip those out to start with.
HTH,
ky
Thanks, Sterling
-- <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> <>< ><> Andrew Sterling Hanenkamp http://Andrew.Sterling.Hanenkamp.com/ [EMAIL PROTECTED] / [EMAIL PROTECTED]
"Life is insecure - whether under liberty or enslavement. The only
choice is between liberty and insecurity, on the one hand, and
insecurity and enslavement on the other."
-- Jacob G. Hornsbarger