我有一個當前正在使用的應用程序。我對這個應用的核心數據模型的下一個版本做了重大修改。生產應用程序中的iOS核心數據對象模型更改
爲了避免從舊數據模型到新數據模型的大量轉換工作,我簡單地重新命名了新的對象模型和數據庫,從而導致新版本的應用程序不再引用舊數據庫(這是不是一個問題,因爲舊的數據庫數據很小,而且不需要)。
然而,我確實需要從舊數據庫中獲取一份數據,但我不希望用戶需要手動將其重新輸入到新數據庫中。
我的問題: 我有什麼方法可以將這段數據存入新數據庫?
我可以對sqlite數據庫運行查詢,只需進入新的數據庫?或者我是否需要創建一個完整的其他持久性存儲&對象模型來提取數據?
還是我錯過了所有的東西?
這是一個漂亮的解決方案。我假設你沒有嘗試進行原地CoreData遷移,因爲你的模型變化很嚴重?當然,對於「簡單」的模型更改,自動遷移是要走的路... –
準確地說..自動遷移並未涵蓋我所做的所有關係變更等。這可能有點hacky ..但它很簡單:)。 – mtb
簡單的作品。 :-)有一種方法可以編寫「真正」的遷移,而不是自動遷移,並隱藏所有隱藏的東西(如SQLite數據庫)。但是,這可能是「真正的」工作以獲得正確的結果。 :-) –