2013-02-20 103 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