Attribute type change is not supported by the lightweight migration:
For Core Data to be able to generate an inferred mapping model, changes must fit an obvious migration pattern, for example:
- Simple addition of a new attribute
- Removal of an attribute
- A non-optional attribute becoming optional
- An optional attribute becoming non-optional, and defining a default value
- Renaming an entity or property
Edit
I assume you're using the lightweight migration. But as Scott pointed out, maybe you aren't. If you want to use automatic migration (which is not the same as the lightweight migration), you can still do this by providing the mapping model. In this case:
Core Data will attempt to locate the source and mapping models in the application bundles, and perform a migration.
But this migration will not be lightweight. Core Data will open two stores–the source and the target–and copy all entities in memory. So the memory consumed by the app depends on the amount of data in the store.