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