我在我的项目中使用了神奇的记录,因为我在数据库中需要新的列,所以我按照本教程进行了软迁移http://jamesonquave.com/blog/core-data-migrations-swift-tutorial/
所以我在persistentStoreCoordinator
中进行了更改,添加了新的模型版本,将当前模型版本设置为新版本并插入了新属性并创建了新的NSManagedObject。
一切正常,所以在我的下一个应用程序版本中,我再次执行相同的过程,因为我想添加另一个列。
所以我现在有3个数据库版本。
然后我意识到,当从使用第一个数据库模型的旧应用程序版本更新到使用第三个数据库模型的最新版本时,所有数据都会被删除。
为什么会这样?
答案 0 :(得分:0)
我终于找到了导致这个问题的原因。我在persistentStoreCoordinator
中做得很好,所以我可以推荐我在问题中链接的教程。
但在我的application didFinishLaunchingWithOptions
方法中,我必须将行MagicalRecord.setupCoreDataStack()
更改为MagicalRecord.setupAutoMigratingCoreDataStack()