2013-02-20 105 views
0

我目前在App Store中使用Core Data的应用程序的v1.1。从Git中检索核心数据管理对象模型

我正在通过为即将发布的版本的现有实体添加一些属性来对Core Data模式进行简单更改。由于我的天真,我从发布版本对现有的Core Data托管对象模型进行了上述更改。

在阅读上的轻量级迁移this指导,我碰到这样的:

它因此,你从来没有让一个应用程序的发布版本更改到管理对象模型是绝对必要的。也就是说,如果您的应用程序已经在App Store中,请不要在该版本的托管对象模型中更改一件事。

这显然与我有关,因为这是我在研究即将发布的版本时一直在做的事情。我一直在使用Git并一直致力于此。 从这些Git修订版中恢复未触及的管理对象模型(假设Git中的一些修订包含它),最不痛苦的方法是什么?

更新/编辑 - 这并不重要,我迁移当前用户的核心数据存储中的大部分数据都可以重新下载和我使用的核心数据,打造更顺畅的体验。 只使用当前修改的Core Data托管对象模型会导致任何问题/崩溃?

回答

1

我只是签出Git的修订版本,其中包含您发布的模型。然后采用该模型并将其复制到您当前的修订版本中。在这一点上,你可以创建一个新的模型版本,并在你的快乐方式。

如果您不想混淆所有这些,您可以创建一个全新的模型并定义您的应用程序以使用该新模型,这将需要您将所有内容重新下载到该新模型中,商店。如果你走了这条路线,我还会写一些代码从设备中删除旧的模型和永久存储文件。

我不认为第一条路线应该太麻烦了。

1

您需要通过您的提交历史进行搜索,git log是一种方法,并找到您想要回滚的点。注意你想提交的提交散列。

git checkout commit-hash path/to/file

完全说明,请参见this SO answer