Preparing for Change: Migrations and Versioning
By now you have mastered a great deal of the Core Data architecture and functionality by building a fully functioning, albeit somewhat simple, Core Data application. You’ve now got enough Core Data chops to build a solid app, send it to your testers, and then send it on to the App Store.
But what happens if you change your data model and send a new version of your application to testers who already have the previous version? Consider the SuperDB app. Let’s say you decide to add a new attribute to the Hero entity; make one of the existing, currently optional attributes required; and then add a new entity. Can you just send the program to your users, or will this cause problems with ...