2009-12-27 24 views
1

我正在開發一個CoreData非基於文檔的應用程序。 SQLite存儲大小通常約爲60MB,並且Time Machine每小時備份整個數據庫一次很繁瑣。有沒有辦法讓Time Machine只備份更改?CoreData&TimeMachine

我在考慮濫用CoreData external records API for spotlight 並讓機器僅備份那些外部記錄。你怎麼看?該文檔說外部記錄只能在〜/ Library/Caches /或〜/ Library/CoreData /中;前者自動被排除在備份之外,我不確定後者。我不確定外部記錄如何與CoreData版本配合工作。

+0

也許你選擇的單詞並不完美,但是當你說「濫用外部記錄API」時,它立即讓我覺得你會做錯事,僅僅是因爲你稱之爲事實「濫用」。如果你在濫用某些東西......那麼......不? – Jasarien 2009-12-27 18:27:53

+0

嗯,是,否...... CoreData外部記錄API會自動爲CoreData存儲中的每個條目生成單個文件,以便Spotlight可以爲其編制索引。原則上,Time Machine可以備份它們。所以是的,這不是蘋果公司希望我們使用該API的原因,但不是,它不會是「道德上錯誤的」...... – Yuji 2009-12-27 18:40:29

+1

鑑於這些記錄的結構是私密的,可能會發生變化,因此根據您的應用程序關於懶惰這個特性的文檔將是一個非常愚蠢的決定 - 假設它可以工作。 – 2009-12-27 18:47:54

回答

0

Time Machine備份文件,而不是單個數據庫記錄。

+0

我知道。所以我需要爲CoreData條目生成單個文件。 CoreData外部記錄API是用幾行代碼實現它的一種方法。我想知道是否有人(ab)使用該API來提高備份性能。 – Yuji 2009-12-27 18:43:47