報告的核心數據遷移數量很少,其數據庫條目結果重複。核心數據:數據庫遷移導致重複數據庫
我們打開了他們發送給我們的數據庫,實際上這些條目是重複的。我們恢復備份並再次轉換數據庫,但我們無法在辦公室重現問題。遷移正常。
可能是這種重複的原因是什麼?它與模型的結構或其他相關?
這是一個使用模型映射的輕量級遷移。核心數據庫基於mysql。
感謝
報告的核心數據遷移數量很少,其數據庫條目結果重複。核心數據:數據庫遷移導致重複數據庫
我們打開了他們發送給我們的數據庫,實際上這些條目是重複的。我們恢復備份並再次轉換數據庫,但我們無法在辦公室重現問題。遷移正常。
可能是這種重複的原因是什麼?它與模型的結構或其他相關?
這是一個使用模型映射的輕量級遷移。核心數據庫基於mysql。
感謝
爭奪這一段時間後,該解決方案對我們來說是很明顯的。因爲它偶爾會發生很所以很難找到repro(甚至更難找到原因!)。
這似乎應用程序有時會中途遷移(原因不明)。
我們使用destinationURL
的-[NSMigrationManager migrateStoreFromURL:...]
的確定性文件名,如appdata.sqlite-model_version_2.3
。我們在遷移之前沒有檢查目標的存在,並且NSMigrationManager
會直接複製到它,無論如何,我們會從第一次(崩潰)嘗試中獲得每個實體的重複項,然後單擊之後的所有項。
幾個-[NSFileManager removeItemAtPath:error:]
要求.sqlite
,.sqlite-shm
和.sqlite-wal
在嘗試遷移清理任何先前的失敗遷移之前已爲我們解決了這個問題。
很高興知道。我們有同樣的問題。 – 2015-03-06 14:48:15
你不知道它是如何遷移的或者它是從哪裏遷移的。你在找一位先知嗎? – 2014-10-10 18:12:56
@ElTomato我希望我能找到一位先知。我已將它添加到問題中。 – aneuryzm 2014-10-12 09:15:07