领域迁移-向现有的领域模块中添加新类

时间:2019-04-09 04:49:46

标签: android realm realm-migration

我正在将现有类 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 :(得分:0)

请检查this链接以进行领域迁移。

以这种方式更改领域配置,并创建新的类,例如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++;
        }



    }
}