Fixes migration

sync
Laurent 3 years ago
parent d097e96cf8
commit 7c527699c2
  1. 4
      app/build.gradle
  2. 3
      app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt
  3. 26
      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()
realm.executeTransaction {
Seed.createDefaultTransactionTypes(transactionTypes, context, realm) Seed.createDefaultTransactionTypes(transactionTypes, context, realm)
}
realm.close() realm.close()
} }

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