So I'm moving from a text based database that I hacked up together quickly to a proper sqlite database for my secret project.
But I decided that since I'm dogfooding the app myself (dogfooding meaning that I'm using the in-development versions) I face a rather high risk of data file corruption.
And I figured... you know what... it's probably useful for other end users (When it's actually ready for end users, of course :) ) that it backs up prior versions. Kind of like how the latest version of Firefox will back up old copies of your bookmarks.
So at this point, there's an established series of exported database files so that every day it makes a new backup. This way, you'll be able to go back in time if the database gets corrupted somehow.
I'm going to put XMP sidecar files in down the road, but the metadata handling code still needs work.