Миграция областей - добавление нового класса в существующий модуль Realm. - PullRequest
0 голосов
/ 09 апреля 2019

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

NoteModule:

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

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

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

Спасибо

1 Ответ

0 голосов
/ 09 апреля 2019

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

Измените конфигурацию области следующим образом и создайте новый класс, такой как 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++;
        }



    }
}
...