В настоящее время мы используем 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, так как он никогда не был установлен раньше.