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.

This is my personal blog, and does not necessarily reflect the opinions of my clients, my employer or my church.

Comments §

Comments should load when you scroll to here...