Coping with change: data schema migration in Haskell

8th October 2014 in London at Skills Matter

There are 9 other SkillsCasts available from Haskell eXchange 2014

Please log in to watch this conference skillscast.

492177770 640

It's all very well to write a beautiful RESTful web service in Haskell, but software development is an inherently dynamic activity with your specs in constant flux. We need to be able to constantly revise the API specs and data schema, communicating changes to the whole engineering team, without slowing down the development cycle or risking disaster whenever a production server is upgraded.

In this talk we will introduce api-tools, a freely available Haskell library that provides a DSL for describing and performing data schema migrations on JSON structures. It allows us to write a self-documenting, human-readable schema changelog that can be validated by developers and executed during automated deployments.

Iris Connect are developing a video sharing platform that is being deployed in over a thousand schools worldwide. We'll explain how we are using api-tools to handle change in the data model at the centre of this platform. Finally, we'll reflect on a few serendipitous design decisions and on the advantages Haskell brings us.


Thanks to our sponsors

Coping with change: data schema migration in Haskell

Adam Gundry

Adam currently works as a Haskell Consultant for Well-Typed LLP. He is a keen Haskell programmer, and completed a PhD in 2013 on combining Haskell with dependent types.

Chris Dornan

Chris is Chief Engineer for Iris Connect who provide web/video platform to help professionals to record, develop and share their practice.