I have read a few articles indicating that there should be light weight migration whenever there is a change in entity, attribute or relationship. But a few days ago when I was talking to my senior he asked me if lightweight migration is really required when a new attribute is added. This got me confused. I know that we should always create a new version before making any changes in the Core Data model. So does it mean that versioning is the same as migrations. Do we need migration if we rename an existing attribute. I would really appreciate if someone could help me.