package treehou.se.habit.core.db.model; import android.content.Context; import javax.inject.Inject; import io.realm.DynamicRealm; import io.realm.FieldAttribute; import io.realm.Realm; import io.realm.RealmConfiguration; import io.realm.RealmMigration; import io.realm.RealmSchema; import io.realm.annotations.PrimaryKey; public class OHRealm { private Context context; public OHRealm(Context context) { this.context = context; } public void setup(Context context) { Realm.setDefaultConfiguration(configuration(context)); } public RealmConfiguration configuration(Context context) { return new RealmConfiguration.Builder(context) .modules(new OHRealmModule()) .migration(migration) .name("treehou.realm") .schemaVersion(2) .build(); } public Realm realm(){ return Realm.getDefaultInstance(); } RealmMigration migration = new RealmMigration() { @Override public void migrate(DynamicRealm realm, long oldVersion, long newVersion) { RealmSchema schema = realm.getSchema(); switch ((int) oldVersion) { case 1: schema.create("SitemapSettingsDB") .addField("id", long.class, FieldAttribute.PRIMARY_KEY) .addField("display", boolean.class); schema.get("SitemapDB") .addRealmObjectField("settingsDB", schema.get("SitemapSettingsDB")); } } }; }