diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt index 4a1b109b..81fb9afe 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt @@ -4,6 +4,9 @@ import io.realm.DynamicRealm import io.realm.RealmMigration import timber.log.Timber import java.util.* +import io.realm.RealmObjectSchema + + class PokerAnalyticsMigration : RealmMigration { @@ -39,7 +42,6 @@ class PokerAnalyticsMigration : RealmMigration { schema.rename("FilterElement", "FilterCondition") schema.get("Filter")?.let { it.renameField("filterElements", "filterConditions") - it.removeField("entityType") } schema.get("SessionSet")?.let { it.addField("id", String::class.java).setRequired("id", true) @@ -53,16 +55,27 @@ class PokerAnalyticsMigration : RealmMigration { Timber.d("*** Running migration ${currentVersion + 1}") schema.rename("Report", "ReportSetup") + schema.get("Filter")?.let { + it.removeField("entityType") + } + schema.get("Session")?.let { it.addField("blinds", String::class.java) } schema.get("FilterCondition")?.let { it.removeField("blindValues") - it.addField("operator", Int::class.java).setNullable("operator", true) - it.addField("intValue", Int::class.java).setNullable("intValue", true) - it.addField("doubleValue", Double::class.java).setNullable("intValue", true) - it.addField("stringValue", String::class.java).setNullable("stringValue", true) + it.removeField("numericValues") + + it.addField("operator", Integer::class.java) + it.addField("intValue", Integer::class.java) + it.addRealmListField("intValues", Integer::class.java) + it.addField("doubleValue", Double::class.java).setNullable("doubleValue", true) + it.addRealmListField("doubleValues", Double::class.java) + if(it.isRequired("doubleValues")) { + it.setRequired("doubleValues", false) + } + it.addField("stringValue", String::class.java) } schema.get("ComputableResult")?.let { @@ -70,7 +83,7 @@ class PokerAnalyticsMigration : RealmMigration { } schema.get("Bankroll")?.let { - it.addField("initialValue", Double::class.java).setRequired("initialValue", true) + it.addField("initialValue", Double::class.java) } currentVersion++