gpt4 book ai didi

ios - 为 Realm Cloud 中的所有 Realm 重置架构

转载 作者:行者123 更新时间:2023-11-28 20:48:49 26 4
gpt4 key购买 nike

有什么方法可以完全从我的 Realm Cloud 中删除所有内容,包括现有的模式定义?

最佳答案

有一种方法可以从 Realm 对象服务器中删除 Realms。

这是我在 Realm Forums Post 上收集的信息

这是 official docs 的链接.

这非常重要。我链接的文档适用于 Docs 3.0。自托管似乎即将消失,因此 3.16 文档不再包含此信息。

有两个步骤

Remove server files
Remove all local files

这两项都必须完成,否则 Realm 将尝试重新同步自己,您的数据将永远不会消失。

第一个函数删除一个 Realm Cloud 实例,如果成功,则删除本地 Realm 文件。

//
//MARK: - delete database
//
func handleDeleteEverything() {
let realm = RealmService //Singleton that returns my realm cloud
try! realm.write {
realm.deleteAll()
}

guard let currentUser = SyncUser.current else {return}
let adminToken = currentUser.refreshToken!

let urlString = "https://your_realm.cloud.realm.io" //from RealmStudio upper right corner
let endPoint = "\(urlString)/realms/files/realm_to_delete"
let url = URL(string: endPoint)
var request = URLRequest(url: url!)
request.httpMethod = "DELETE"
request.addValue(adminToken, forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let err = error {
print("err = \(err.localizedDescription)")
return
}

print("Realm has been deleted")
self.deleteLocalRealmFiles() //remove local files
}
task.resume()
}

然后是删除本地文件的函数。这个函数与 Realm 论坛帖子中出现的有点不同,在 Realm 4.2 中添加了这个函数

try Realm.deleteFiles(for: config)

以及调用它的函数

func deleteLocalRealmFiles() {

do {
let config = Realm.Configuration.defaultConfiguration
let isSuccess = try Realm.deleteFiles(for: config)
if isSuccess == true {
print("local files were located and deleted")
} else {
print("no local files were deleted, files were not found")
}

} catch let error as NSError {
print(error.localizedDescription)
}
}

关于ios - 为 Realm Cloud 中的所有 Realm 重置架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59600641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com