One thing that might be interesting to add is the ability to migrate data on demand. I could imagine migrating massive databases taking a long time in some cases; it would be really cool to be able to deploy a new target data model version and update any data being requested while a worker thread converted the rest of the data in the background...
Seems like all you'd need is to store the migration version in each document along with a single 'current' value to check against documents as they're retrieved.
One thing that might be interesting to add is the ability to migrate data on demand. I could imagine migrating massive databases taking a long time in some cases; it would be really cool to be able to deploy a new target data model version and update any data being requested while a worker thread converted the rest of the data in the background...
Seems like all you'd need is to store the migration version in each document along with a single 'current' value to check against documents as they're retrieved.