Миграция Realm — добавление нового класса в существующий модуль Realm

Я добавляю существующий класс Headings.class в RealmModule NoteModule. Этот класс ранее не был частью ни одного из моих нескольких модулей Realm. Как написать код миграции Realm для достижения этой цели?

ПримечаниеМодуль:

@RealmModule(classes = {PaperEntry.class, BookEntry.class, AccessInfo.class, BookInfoEntry.class, Heading.class})
public class NoteModule {
}

Я не смог найти примеры для моего вопроса здесь, в stackoverflow.

Цените поддержку.

Спасибо


person itabdullah    schedule 09.04.2019    source источник


Ответы (1)


Пожалуйста, проверьте эту ссылку для миграции Realm.

Измените конфигурацию области таким образом и создайте новый класс, например MyMigration.java

Realm.init(getApplicationContext());
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder()
                    .name("database.realm").schemaVersion(1).migration(new MyMigration()).build();

Realm.setDefaultConfiguration(realmConfiguration);

MyMigration.java

public class MyMigration implements RealmMigration {
    @Override
    public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {

        RealmSchema schema = realm.getSchema();

        if (oldVersion == 1) {
            schema.create("Headings")
                    .addField("make", String.class)
                    .addField("model", String.class)
                    .addField("primaryKEY", String.class, FieldAttribute.PRIMARY_KEY);
            oldVersion++;
        }



    }
}
person Meet Patel    schedule 09.04.2019
comment
Спасибо. Я надеюсь, что приведенный выше код предназначен для добавления нового объекта Realmobject, но у меня вопрос: мой объект Realmobject уже существует, и я хочу добавить к нему один из нескольких моих модулей RealmModules. В любом случае, я попробовал ваш код, но получил ошибку. Вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод 'io.realm.RealmObjectSchema io.realm.RealmObjectSchema.addField (java.lang.String, java.lang.Class, io. realm.FieldAttribute[])' для ссылки на нулевой объект Может быть, мой вопрос не был яснее. Позвольте мне отредактировать его. - person itabdullah; 09.04.2019