From e36b08aee3ef3b862a992d55438d3dc82fe6765a Mon Sep 17 00:00:00 2001 From: Laurent Date: Sat, 29 Jun 2019 10:13:09 +0200 Subject: [PATCH] Added Import new data --- .../migrations/PokerAnalyticsMigration.kt | 20 ++++++++++++- .../android/model/realm/Import.kt | 30 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Import.kt 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 687fff28..5eec17e3 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 @@ -3,6 +3,7 @@ package net.pokeranalytics.android.model.migrations import io.realm.DynamicRealm import io.realm.RealmMigration import timber.log.Timber +import java.util.* class PokerAnalyticsMigration : RealmMigration { @@ -107,7 +108,6 @@ class PokerAnalyticsMigration : RealmMigration { it.addPrimaryKey("id") it.addField("value", String::class.java).setNullable("value", false) it.addField("order", Integer::class.java).setNullable("order", false) -// it.addRealmObjectField("customField", it).setNullable("customField", false) it.addField("numericValue", Double::class.java).setNullable("numericValue", true) } @@ -151,6 +151,24 @@ class PokerAnalyticsMigration : RealmMigration { schema.get("TransactionType")?.addField("useCount", Int::class.java) currentVersion++ } + + // Migrate to version 8 + if (currentVersion == 7) { + Timber.d("*** Running migration ${currentVersion + 1}") + + schema.create("Import")?.let { importSchema -> + importSchema.addField("date", Date::class.java).setRequired("date", true) + importSchema.addField("fileName", String::class.java).setRequired("fileName", true) + schema.get("Session")?.let { + importSchema.addRealmListField("sessions", it) + } + schema.get("Transaction")?.let { + importSchema.addRealmListField("transactions", it) + } + } + + currentVersion++ + } } override fun equals(other: Any?): Boolean { diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Import.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Import.kt new file mode 100644 index 00000000..14449e64 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Import.kt @@ -0,0 +1,30 @@ +package net.pokeranalytics.android.model.realm + +import io.realm.RealmList +import io.realm.RealmObject +import java.util.* + +class Import : RealmObject() { + + var date: Date = Date() + + var fileName: String = "" + + var sessions: RealmList = RealmList() + var transactions: RealmList = RealmList() + + fun delete() { + + this.realm.executeTransaction { + + this.sessions.forEach { + it.cleanup() + it.deleteFromRealm() + } + + transactions.deleteAllFromRealm() + } + + } + +} \ No newline at end of file