I use EMF to store the main data of my application. However, the ECore model evolves over time. Every time a new release is done, I use a different base URI for my package. This way, it remains very clear which version a file was stored in.
I would like to add a backwards compatibility layer. This way, I can also read older versions and convert them to a new version of the model. How would I go about this? Can I just use an older version of the .Ecore to parse the file reflectively and try to create a new model automatically? How do you guys do this in practice?
Have a look at the EMF recipes