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" applicationId "net.pokeranalytics.android"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 32 targetSdkVersion 32
versionCode 143 versionCode 144
versionName "6.0" versionName "6.0.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

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

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

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

Loading…
Cancel
Save