現在我得到錯誤Property types for 'value' property do not match. Old type 'float', new type 'double'
如何清除數據庫或遷移成功?如何從iOS完全刪除Realm數據庫?
回答
要從磁盤上徹底刪除Realm文件並從頭開始,只需使用NSFileManager
手動刪除即可。
例如,刪除默認的境界文件:
NSFileManager.defaultManager().removeItemAtURL(Realm.Configuration.defaultConfiguration.fileURL!)
如果您想保留境界文件,但完全空的對象,你可以調用deleteAll()
這樣做:
let realm = try! Realm()
try! realm.write {
realm.deleteAll()
}
更新:我覺得我忽略了在我最初的答案中提到這一點。如果您選擇從磁盤刪除Realm文件,則必須在應用程序中的任何線程上打開Realm文件之前完成此操作。一旦打開,Realm將內部緩存對其的引用,即使文件被刪除也不會被釋放。
如果您確實需要在刪除之前打開Realm文件以檢查其內容,則可以將其放在autoreleasepool
中以執行此操作。
objc:
@try {
[RLMRealm defaultRealm];
}
@catch(...) {
NSURL *rurl = [RLMRealmConfiguration defaultConfiguration].fileURL;
// blow the database clean
NSError *error = nil;
[[NSFileManager defaultManager] removeItemAtURL:rurl error:&error];
if(error) {
NSLog(@"error %@ removing realm db", error);
} else {
NSLog(@"removed realm db successfully");
}
}
好的答案,蒂姆。在刪除之前,我們可以從舊數據庫複製一些記錄到新數據庫(我們希望用戶使用)嗎? –
@ChanchalRaj謝謝!嗯,是的,你可以很容易地複製領域之間的值,但在這種情況下,這意味着你必須掛在舊的領域一段時間,以便將數據複製到新領域。我可能會建議將新的Realm保存到不同的位置,並且一旦完成複製數據,請刪除舊的Realm並將其替換爲新的Realm。請務必在'@ autoreleasepool'中完成所有這些操作,以便在刪除之前釋放對舊Realm的所有引用。 :) – TiM
** Swift 3:**'試試? FileManager.default.removeItem(at:Realm.Configuration.defaultConfiguration.fileURL!)' –
你試過
let realm = try! Realm()
realm.deleteAllObjects()
您也可以嘗試將其插入電腦,將Xcode中,然後設備,然後尋找當前領域存在並刪除它刪除掉設備的境界。
雖然其他意見是正確的,你應該看看:https://realm.io/docs/swift/latest/#migrations
它給出了怎麼辦遷移超清晰的解釋,這是非常簡單的,和遠如果可以幫助,更好地刪除所有內容。
- 1. 如何使用Realm刪除數據庫?
- 2. 我該如何從git倉庫中完全刪除數據?
- 3. 完全刪除EF數據庫在c#
- 4. 完全刪除git數據庫提交
- 5. Android Realm數據庫刪除生成器
- 6. 如何完全刪除iOS狀態欄
- 7. 從MS Access數據庫和Gridview Winforms完全刪除Devexpress?
- 8. android-如何添加和刪除對象到realm數據庫?
- 9. TYPO3庫完全刪除
- 10. 如何從.net完全刪除Oracle數據提供程序
- 11. 檢測要從Realm數據庫中刪除的對象
- 12. 如何從GitHub完全刪除提交?
- 13. 如何從Ubuntu/* nux完全刪除VTK?
- 14. 如何從Meteor完全刪除collection-fs?
- 15. 如何完全刪除gcloud?
- 16. 從django完全刪除memcached
- 17. 如何從Mercurial存儲庫中完全刪除某些內容?
- 18. 如何從git存儲庫中完全刪除文件?
- 19. 如何從SVN倉庫中完全刪除目錄
- 20. 如何完全從Android Studio中刪除庫
- 21. 如何從數據庫中刪除「」值
- 22. 如何從數據庫中刪除?
- 23. 如何從Firebase中刪除數據庫?
- 24. 如何從SQL數據庫中刪除
- 25. Realm Swift iOS - 安全地刪除並重新加密加密的Realm
- 26. 不能完全從數據庫中清除數據的列表
- 27. 從Realm中刪除x86_64 pakage
- 28. 如何刪除數據庫
- 29. 完全刪除空數組
- 30. 從數據庫中刪除/刪除
發佈一些不起作用的代碼。 – almas