2015-07-09 6 views
1

Ошибка: Realm на диске новее чем указанный: v1 vs. v0Realm - ошибка миграции

Я пытался добавить код миграции для моего проекта. Я вижу следующую ошибку, но не знаю, как ее решить. Я заметил, что документация должна быть обновлена ​​для RealmMigration. Также я не хочу удалять свои данные, мне нужно сохранить их. Возможно, я не настроил это правильно, но я пытался следить за документацией, которая для меня немного запутанна для миграции. Вот мой код:

visnetawrap.realmConfiguration = new RealmConfiguration.Builder(this).build(); 

    Realm.setDefaultConfiguration(visnetawrap.realmConfiguration); 

    try { 
     Realm tempRealmThread = Realm.getDefaultInstance(); 
     tempRealmThread.close(); 
    } 
    catch (RealmMigrationNeededException e) { 
     Realm.migrateRealm(visnetawrap.realmConfiguration, new RealmMigration() { 
      @Override 
      public long execute(Realm realm, long l) { 
       return 1; 
      } 
     }); 
     Realm.setDefaultConfiguration(visnetawrap.realmConfiguration); 
     Log.d("RealmMigration", "Schema has been upgraded."); 
    } 
+0

Вам необходимо отразить изменения в миграции. https://github.com/realm/realm-java/blob/master/examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Migration.java Проверьте этот пример, надеюсь, что это поможет. – beeender

+0

Я вижу, это имеет смысл. Мне не хватало той части, где я должен был внести изменения после миграции, я думал, что это автоматически! Если вы хотите оставить это в качестве ответа, я буду рад отметить его. –

ответ

2

Вам необходимо отразить изменения в процессе миграции. Проверьте это example, надеюсь, что это поможет.

+0

Я удаляю приложение и получаю ту же ошибку ... почему? –

Смежные вопросы