BTW, if we need to upgrade from version 2 to 4, it is safe to write a for loop to update data from 2 to 3 and 3 to 4, like Calendar did. That's also more readable for later bug fixer and won't make misunderstanding. And, if there is no dependency on each dbfile, it is safe to write the for loop here. But if there are some dependency on dbfiles, we may need to move for loop outside of enumerateOldFiles callback.