I'm curious how others are approaching the problem of data evolution.
For example, say you have v1.0 of your game with a certain data structure, and then by v1.5 you have changed how some objects are represented and stored in BigDB (you might have added or removed properties or changed property data types, for example).
How do you handle migrating players to new or updated data structures over time?
Should we add some special case code for each version which detects old data and re-save() in the newer structures? Or would it be better to close the game, do a mass-conversion, and then reopen the game knowing that everything has been updated?
Are there any code patterns discovered or tools created to make this simpler?
Discuss!