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

标签 ios swift realm

有什么方法可以完全从我的 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/

相关文章:

ios - UITableView 中的多个自定义单元格与 Firebase 数据库

iphone - 用比 Core Plot 更简单的方法在 iPhone 上绘制图形

ios - UITableView 没有滚动到最后一行,而是滚动到上面的 5-6 行。 (使用自动布局)

ios - 如何构建仍然兼容存档并上传到 AppStore 的 Framework fat 二进制文件(所有 archs)?

iphone - 发布数据但获取方法 json -ios

ios - 在本地化字符串中使用变量

swift - 如何测量 Swift 中 DispatchQueue 并发异步中的代码块执行时间?

ios - 写入上一个 Realm 对象而不是下一个

ios - Realm .io : Are write/read operations executed on the main thread?

swift - 最常出现的Realm