对如何设置我的 .xcdatamodel 进行版本控制感到困惑
Posted
技术标签:
【中文标题】对如何设置我的 .xcdatamodel 进行版本控制感到困惑【英文标题】:Confused by how to setup my .xcdatamodel for versioning 【发布时间】:2013-08-12 17:53:39 【问题描述】:我正在阅读核心数据模型验证和数据迁移编程指南,对如何设置初始版本号感到困惑。
我有一个现有的应用程序,我在其中没有为 Core Data 版本控制设置它。另外,我正在使用Magical Record。该应用程序的当前版本是1.3;我准备发布 1.4 并进行一些小改动,并且我想在 1.5 版本中更改其中一个核心数据实体(添加新属性)。我绝对需要版本控制,这样我的用户就不会丢失任何现有数据。我假设我必须设置当前版本以启用 1.5 版的轻量级版本控制。
问题是:Core Data 版本是否必须与应用程序版本相匹配?或者这是版本控制工作的常见方式?
【问题讨论】:
【参考方案1】:Magical Record 有一个方便的方法。在您设置魔法记录使用的 AppDelegate 中。
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"storeName"];
或者单击您的核心数据 .xcdatamodeld 然后顶部栏编辑器 > 添加模型版本
【讨论】:
非常感谢...所以我仍然需要手动更改版本号,还是 MR 会为我处理所有更改(添加属性)? (害怕尝试而不搞砸) 没问题。阅读文档时,请确保您在 master 分支上。 github.com/magicalpanda/MagicalRecord/tree/master ;-) 据我所见和测试,它会为您处理版本控制。我对此不是 100% 确定,所以为了安全起见,可能会添加一个模型版本。 模型版本是否必须与应用的版本相匹配? 不,您可能只决定在 1.4 版中更新您的核心数据模型,因此它不必匹配。以上是关于对如何设置我的 .xcdatamodel 进行版本控制感到困惑的主要内容,如果未能解决你的问题,请参考以下文章