Сбой миграции области с ошибкой: требуется миграция или объект уже открыт с другой версией схемы

вот код для миграции (in didFinishLaunchingWithOptions) {

    Realm.Configuration.defaultConfiguration = Realm.Configuration(
        schemaVersion: 3,
        migrationBlock: { migration, oldSchemaVersion in
            // The enumerateObjects:block: method iterates
            // over every 'Person' object stored in the Realm file
            migration.enumerate(User.className()) { oldObject, newObject in

                if oldSchemaVersion < 1 {
                    newObject!["crashTest"] = ""
                }
                if oldSchemaVersion < 2 {

                }
            }
    }) let realm = try!Realm()

Вот ошибка:

фатальная ошибка: "попробуйте!" выражение неожиданно вызвало ошибку: Error Domain = io.realm Code = 0 "Миграция требуется из-за следующих ошибок: - Свойство crashTest добавлено к последней объектной модели". UserInfo = {NSLocalizedDescription = требуется миграция из-за следующих ошибок: - свойство "crashTest" добавлено к последней объектной модели.}: File/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-700.1.101.15/src/swift/stdlib/public/core/ErrorType.swift, строка 50

+2
источник поделиться
1 ответ

Если вы находитесь только в локальной разработке, я предлагаю вам сбросить базу данных вашего региона, а не переносить. Вы можете сбросить базу данных, удалив приложение на своем тренажере или устройствах. В качестве альтернативы вы можете попытаться использовать NSFileManager для удаления файла области до доступа к базе данных. let defaultPath = Realm.Configuration.defaultConfiguration.fileURL?.path try! FileManager.default.removeItem(atPath: defaultPath!)

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос