Time for a quick story. A few years ago I interviewed for a late stage venture backed company. The interviews went well, I had done my research on the company beforehand, and was fairly sure of the questions I would be asked. I wrote code on a whiteboard that sort of worked in a fairly obscure language (CoffeeScript) and ultimately ended the six interview day with the VP of Engineering. But one question came up that I answered poorly. It was this (paraphrase):
If you were building a system today, how would you version your database changes?
I worked at the company for a couple years (it went public - interesting stories abound). Our team used Postgres and Perl to develop and maintain an API for video asset meta data. We used an existing tool to version our database changes for development and deployment, but I was never entirely happy with how it worked.
Fast forward a few years. I am now in charge of a small, growing companies technology. We handle analytics, configuration and transaction processing. We need a tool to manage changes to our database (postgres).
So I built verdb.