Haskell Blog Rewrite - Session 5 - 2007-07-20

Posted in:

Aims

  • Create schema for 'Blog' items, with perhaps some utility functions for generating slugs.

  • Create command line tool that will create this table in the database

  • Import all old blog items into new tables

Notes

  • HaWiki has disappeared! Not useful. Google's cache of the HaskellDBTutorial article was some help once I got hold of it.

  • How do you specify that something is a primary key, or references another column? Can't find any docs about, grepping the source produces nothing. Idea: use DB/Direct to generate sources from the database. I'll use an existing database with all these features.

    • Need Postgresql bindings for the above. So:

      • Try HDBC and HDBC-Postrgresql. Both compiled and installed fine, but haskelldb-hdbc doesn't compile. Aargh!

      • Tried to installed HSQL-Postgesql. But after compiling it complained:

        ghc-pkg: /usr/include/postgresql/8.2/server doesn't exist or isn't a directory

        Strange, HSQL-MySQL had no problems. Searched on packages.ubuntu.com, and came up with idea of installing postgresql-server-dev-8.2. I don't know why this should be needed (I already had client dev packages installed), but now it installs.

      • After all that, DBDirect bombs out on me with this message:

        DB/Direct: Daan Leijen (c) 1999, HWT (c) 2003-2004,
        
          Bjorn Bringert (c) 2005-2006
        
        Connecting to database... DBDirect: user error (Couldn't load
        Database.HaskellDB.HSQL.PostgreSQL.driver from package haskelldb-hsql-
        postgresql-0.10)

        This is the same error I was getting trying to run the test suite earlier. Annoying.

Analysis

  • Didn't get close to my aims, again, but I only spent about 45 minutes this time.

  • Problems were: documentation, knowing what HaskellDB is supposed to do, getting things to compile, getting them to actually work.

Comments §

Comments should load when you scroll to here...