开发过程中两次修改CoreData

Posted

技术标签:

【中文标题】开发过程中两次修改CoreData【英文标题】:Modify CoreData twice during development 【发布时间】:2017-04-05 15:16:56 【问题描述】:

我有一个问题要问。目前我的生产 CoreData 版本是 1.0。然后,由于我添加了一个新的类/属性,我将版本增加到 1.1 并发布了这个版本供测试人员使用。

现在,我需要向 CoreData 添加另一个属性。

1) 那么,我应该创建一个新的模型版本还是可以直接修改当前的 CoreData(v1.1)。

请注意,使用 v1.1 CoreData 构建的版本尚未发布到生产环境中……只是测试人员。

2) 如果需要添加新版本 (v1.2) 以适应新属性,当我将其发布到生产版本时会不会有任何影响?

3) 如果可以直接修改,测试人员安装的当前开发版本在更新到添加了新属性的新版本时会崩溃吗?

【问题讨论】:

【参考方案1】:
    您可以修改v1.1,但测试人员将不得不删除该应用程序,因为该应用程序可能无法打开核心数据或出现不一致。为避免这种情况,测试人员将不得不删除应用程序,并且由于这种结构更改,他可能会错过问题(如果有的话),只能在生产环境中捕获。所以你应该改变版本。 如果版本控制和迁移正确完成,它不会导致任何问题。 是的,可能存在不一致和应用无法打开核心数据的情况。

【讨论】:

【参考方案2】:

为了避免为了测试目的而进行 CoreData 版本控制,您可以修改当前的 CoreData 版本并告诉您的测试人员在安装新版本之前删除以前的版本。

否则每次更改数据库架构时都必须执行迁移以避免不一致。

您可以在将其发送到生产环境之前进行版本控制。

【讨论】:

以上是关于开发过程中两次修改CoreData的主要内容,如果未能解决你的问题,请参考以下文章

在开发过程中切换到使用 Core Data?

脏读,不可重复读,幻读及事务隔离等级

iOS开发过程中使用Core Data应避免的十个错误

mysql互换表中两列数据

前端图片预览,上传前预览,兼容IE7891011,Firefox,Chrome

c#中两种不同的存储过程调用与比较