yeah I thought about it, but this is very specific migration - localStorage -> IndexedDB, so it probably doesn't need to be dynamic.

for newer versions (which all use IndexedDB) we'll probably create a more sophisticated migration method that gets fromVersion and toVersion and knows what to do with it.