Add migration class

feature/top10
Aurelien Hubert 7 years ago
parent 5019040269
commit c43600ba25
  1. BIN
      app/src/androidTest/assets/schema_0.realm
  2. 63
      app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt

@ -0,0 +1,63 @@
package net.pokeranalytics.android.model.migrations
import io.realm.DynamicRealm
import io.realm.RealmMigration
import timber.log.Timber
class PokerAnalyticsMigration : RealmMigration {
override fun migrate(realm: DynamicRealm, oldVersion: Long, newVersion: Long) {
// DynamicRealm exposes an editable schema
val schema = realm.schema
var currentVersion = oldVersion.toInt()
Timber.d("*** migrate from $oldVersion to $newVersion")
// Migrate to version 1: Add a new class.
// Example:
// public Person extends RealmObject {
// private String name;
// private int age;
// // getters and setters left out for brevity
// }
/*
if (currentVersion == 0) {
Timber.d("*** Running migration 1")
schema.get("Session")!!
.addField("isUpdating", Boolean::class.java)
currentVersion++
}
*/
// Migrate to version 2: Add a primary key + object references
// Example:
// public Person extends RealmObject {
// private String name;
// @PrimaryKey
// private int age;
// private Dog favoriteDog;
// private RealmList<Dog> dogs;
// // getters and setters left out for brevity
// }
/*
if (currentVersion == 1) {
schema.get("Person")!!
.addField("id", Long::class.javaPrimitiveType!!, FieldAttribute.PRIMARY_KEY)
.addRealmObjectField("favoriteDog", schema.get("Dog")!!)
.addRealmListField("dogs", schema.get("Dog")!!)
currentVersion++
}
*/
}
override fun equals(other: Any?): Boolean {
return other is RealmMigration
}
override fun hashCode(): Int {
return RealmMigration::javaClass.hashCode()
}
}
Loading…
Cancel
Save