Сброс схемы для всех областей в облаке областей - PullRequest
0 голосов
/ 05 января 2020

Можно ли каким-либо образом полностью уничтожить все из моего Realm Cloud, включая существующие определения схемы?

Ответы [ 2 ]

1 голос
/ 05 января 2020

Существует способ удаления Царств с Сервера Объектов Царств.

Вот информация, которую я собрал в Сообщении о Царствах на форумах

Вот ссылка на официальные документы .

Это очень важно, хотя . Документы, на которые я ссылаюсь, предназначены для Документов 3.0. Самостоятельный хостинг, похоже, уходит, поэтому документы 3.16 больше не содержат эту информацию.

Есть два шага

Remove server files
Remove all local files

Оба эти шага должны быть выполнены, иначе Realm попытается повторить -syn c сама и ваши данные никогда не будут go прочь.

Первая функция удаляет экземпляр 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, с добавлением этой функции в 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)
    }
}
1 голос
/ 05 января 2020

Я думаю, вы можете проверить эту ссылку.

https://forum.realm.io/t/is-it-possible-to-reset-the-default-realm-without-creating-a-new-instance/1466

Эта проблема решает мою проблему с базой данных области и может сбросить все схемы

Надеюсь, она работает хорошо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...