为 Realm Cloud 中的所有领域重置架构
Reset schema for all Realms in Realm Cloud
有什么方法可以完全从我的 Realm Cloud 中删除所有内容,包括现有的模式定义?
我想,你可以检查这个link。
这个解决了我的领域数据库问题并且可以重置所有模式
希望效果好!
有一种方法可以从领域对象服务器中删除领域。
这是我在 Realm Forums Post
上收集的信息
这是 official docs 的 link。
不过这非常重要。我正在 linking 的文档是针对 Docs 3.0 的。自托管似乎即将消失,因此 3.16 文档不再包含此信息。
有两个步骤
Remove server files
Remove all local files
这两项都必须完成,否则 Realm 将尝试重新同步自身,您的数据将永远不会消失。
第一个函数删除一个 Realm Cloud 实例,如果成功,则删除本地领域文件。
//
//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 论坛 post 上出现的功能略有不同,在 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)
}
}
有什么方法可以完全从我的 Realm Cloud 中删除所有内容,包括现有的模式定义?
我想,你可以检查这个link。
这个解决了我的领域数据库问题并且可以重置所有模式
希望效果好!
有一种方法可以从领域对象服务器中删除领域。
这是我在 Realm Forums Post
上收集的信息这是 official docs 的 link。
不过这非常重要。我正在 linking 的文档是针对 Docs 3.0 的。自托管似乎即将消失,因此 3.16 文档不再包含此信息。
有两个步骤
Remove server files
Remove all local files
这两项都必须完成,否则 Realm 将尝试重新同步自身,您的数据将永远不会消失。
第一个函数删除一个 Realm Cloud 实例,如果成功,则删除本地领域文件。
//
//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 论坛 post 上出现的功能略有不同,在 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)
}
}