Конфигурация области возвращает случайные схемы, что приводит к сбою миграции - PullRequest
0 голосов
/ 04 октября 2018

В настоящее время мы используем Realm внутри нашего приложения, но когда я пытаюсь выполнить миграцию (поскольку мы хотим удалить модель / класс в нашей базе данных), конфигурация возвращает случайное огромное значение из configuration.schemaVersion.

Миграция не вызывается и ничего не удаляется.База данных Realm была вызвана несколько раз с let realm = try? Realm(configuration: Realm.compactConfiguration)

Я попытался создать один Config для всего приложения и установить его следующим образом:

let configuration = Realm.compactingConfiguration
Realm.Configuration.defaultConfiguration = configuration

, но по-прежнему появляется большая схема schemaVersion, икод не идет внутри блока миграции

extension Realm {

public static var compactConfiguration: Configuration {
    get {
        // Realm is compacted on the first open if the configuration block conditions were met.
        // Compacting when size is greater than 50MB (arbitrary amount, database size should be
        // around 2.6MB, so should not reach 50MB)
        let currentSchemaVersion: UInt64 = 1
        var configuration = Realm.Configuration(
            schemaVersion: 1,
            migrationBlock: { migration, oldSchemaVersion in
                if (oldSchemaVersion < currentSchemaVersion) {
                   migration.deleteData(forType: Office.className())
                }
            })
        configuration.deleteRealmIfMigrationNeeded = true
        return configuration
    }
}

}

Кто-нибудь знает, что происходит?Я ожидал, что versionScheme будет 0, так как он никогда не был установлен раньше.

...