Fixes migration

sync
Laurent 3 years ago
parent d097e96cf8
commit 7c527699c2
  1. 4
      app/build.gradle
  2. 5
      app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt
  3. 42
      app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt
  4. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Performance.kt

@ -35,8 +35,8 @@ android {
applicationId "net.pokeranalytics.android"
minSdkVersion 23
targetSdkVersion 32
versionCode 143
versionName "6.0"
versionCode 144
versionName "6.0.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

@ -65,7 +65,10 @@ class Patcher {
val realm = Realm.getDefaultInstance()
val transactionTypes = TransactionType.Value.values()
Seed.createDefaultTransactionTypes(transactionTypes, context, realm)
realm.executeTransaction {
Seed.createDefaultTransactionTypes(transactionTypes, context, realm)
}
realm.close()
}

@ -286,29 +286,29 @@ class PokerAnalyticsMigration : RealmMigration {
hs.renameField("bigBlind", "oldBigBlind")
}
// Migrate to version 13
if (currentVersion == 12) {
Timber.d("*** Running migration ${currentVersion + 1}")
schema.get("TransactionType")?.let { tts ->
tts.addField("transferRate", Double::class.java)
.setNullable("transferRate", true)
schema.get("Bankroll")?.let { bs ->
tts.addRealmObjectField("destination", bs)
} ?: throw PAIllegalStateException("Bankroll schema not found")
}
currentVersion++
}
schema.create("Performance")?.let { schema ->
schema.addField("id", String::class.java).setRequired("id", true)
schema.addPrimaryKey("id")
schema.addField("reportId", Int::class.java).setRequired("report", true)
schema.addField("key", Int::class.java).setRequired("key", true)
schema.addField("name", String::class.java).setNullable("name", true)
schema.addField("objectId", String::class.java).setNullable("objectId", true)
schema.addField("customFieldId", String::class.java).setNullable("customFieldId", true)
schema.addField("value", Double::class.java).setNullable("value", true)
}
// Migrate to version 13
if (currentVersion == 12) {
Timber.d("*** Running migration ${currentVersion + 1}")
schema.get("Transaction")?.let { tts ->
tts.addField("transferRate", Double::class.java)
.setNullable("transferRate", true)
schema.get("Bankroll")?.let { bs ->
tts.addRealmObjectField("destination", bs)
} ?: throw PAIllegalStateException("Bankroll schema not found")
}
currentVersion++
schema.create("Performance")?.let { ps ->
ps.addField("id", String::class.java).setRequired("id", true)
ps.addPrimaryKey("id")
ps.addField("reportId", Int::class.java)
ps.addField("key", Int::class.java)
ps.addField("name", String::class.java)
ps.addField("objectId", String::class.java)//.setNullable("objectId", true)
ps.addField("customFieldId", String::class.java)//.setNullable("customFieldId", true)
ps.addField("value", Double::class.java).setRequired("value", false) //.setNullable("value", true)
}
currentVersion++

@ -2,6 +2,7 @@ package net.pokeranalytics.android.model.realm
import io.realm.Realm
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.model.LiveOnline
import net.pokeranalytics.android.ui.view.rows.StaticReport
@ -17,6 +18,7 @@ interface PerformanceKey {
open class Performance() : RealmObject() {
@PrimaryKey
var id: String = UUID.randomUUID().toString()
constructor(

Loading…
Cancel
Save