修改核心数据模型每次都需要新版本?

时间:2013-12-04 00:43:28

标签: ios core-data core-data-migration

我一直在寻找并让我直截了当,每当我更改我的实体的属性时,我需要创建我的模型的全新版本?我知道SQLite数据库现在与我的数据模型不同步,但我不能只删除sql文件并重新运行我的模拟器?这就是我一直在做的事情,但它似乎没有起作用。

1 个答案:

答案 0 :(得分:3)

您是对的,核心数据模型的任何更改都必须在新的核心数据模型版本中进行。您可以通过重置模拟器中的内容和设置,或在安装之前删除设备上的旧应用程序版本来避免对开发构建执行此操作。但是,对于商店构建,您必须正确管理模型版本,以便用户可以使用新模型将其持久存储正确迁移到新商店。需要进行版本控制,以便可以执行轻量级迁移,而无需编写自定义迁移代码。如果您不想对模型进行版本控制,则必须编写代码以正确迁移实体。这可能需要大量工作并且难以维护,您宁愿使用轻量级迁移和版本控制。