[Haskell-cafe] Inverse of HaskellDB

Jonathan Geddes geddes.jonathan at gmail.com
Sat Sep 25 16:23:05 EDT 2010

Versioning is a tricky problem regardless of how you are creating
tables. And that isn't the problem I was aiming to tackle; the problem
I was aiming to tackle is a bit more narrow than that: I have a record
and now I need a table to stick it in.

By the way, how does HaskellDB handle versioning?


On Sat, Sep 25, 2010 at 1:57 PM, Antoine Latter <aslatter at gmail.com> wrote:
> That sounds pretty awesome to me.
> Have you given any thought as to how you want to approach versioning?
> Maybe I'm asking a silly question - I have very little real world experience
> with relation databases and how to version schemas.
> Antoine
> On Sep 25, 2010 2:31 PM, "Jonathan Geddes" <geddes.jonathan at gmail.com>
> wrote:
>> Cafe,
>> HaskellDB takes a database schema and produces Haskell data structures
>> (plus some other query-related stuff for its EDSL query language).
>> What I'm looking for is the inverse of this functionality. I want to
>> create tables based on a Haskell data structure with a few simple
>> rules. These rules include: if a field is not of the form `Maybe a'
>> then it can't be nullable in the database. If a field is not a
>> primitive (in the database) then it is actually stored in another
>> table and a reference id is stored in the table. Tables are produced
>> recursively, unless they already exist, etc.
>> The HaskellDB approach is great for interfacing with existing tables,
>> but in my case I already have data structures and now I would like a
>> quick way to create tables to persist them.
>> Does such a thing exist? If not, would you find it useful? I may take
>> this up as a side project if it does not already exist and others
>> would find it useful.
>> Thanks,
>> --Jonathan
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list