On Fri, 4 May 2001, Florian G. Pflug wrote:

> Is anyone developing a database abstraction framework at the moment?
> 
> I just started with this, but if other already work an this, I would rather
> participate in their effort, instead of developing my own thing.
> 
> What I though of was not just abstracting the connection handling, and
> querying, but to make it unnecessary for the programmer to write
> sql-statements (at least for simple queries), and deal with result arrays.

I actually played around with developing something very much like what you
describe, also based on the ruby-mysql lib - it generated classes for
tables, accessors for fields and relationships, automatically generated
the SQL for updates, and allowed a query interface like

results = 
People.select{|person| (person.name =~ "Avi%") & (person.father.age > 50)}

which would produce the appropiate SQL.

(yes, that's a single & - you can't overload &&)

I never had time to make it fully usable (I don't think I ever really did 
to-many relationships properly), but I'd be happy to put my code
up for you to look at, it might give you some ideas.

Avi