Add migration for CustomField

dev
Aurelien Hubert 7 years ago
parent 0905781830
commit c3fb50ef52
  1. 2
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  2. 11
      app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt
  3. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt

@ -34,7 +34,7 @@ class PokerAnalyticsApplication : Application() {
Realm.init(this)
val realmConfiguration = RealmConfiguration.Builder()
.name(Realm.DEFAULT_REALM_NAME)
.schemaVersion(6)
.schemaVersion(7)
.migration(PokerAnalyticsMigration())
.initialData(Seed(this))
.build()

@ -106,6 +106,17 @@ class PokerAnalyticsMigration : RealmMigration {
currentVersion++
}
// Migrate to version 7
if (currentVersion == 6) {
Timber.d("*** Running migration ${currentVersion + 1}")
schema.get("CustomField")?.let {
it.addField("type", Integer::class.java).setNullable("type", false)
it.addField("duplicateValue", Boolean::class.java)
it.addRealmListField("entries", String::class.java)
}
currentVersion++
}
}
override fun equals(other: Any?): Boolean {

@ -1,6 +1,7 @@
package net.pokeranalytics.android.model.realm
import io.realm.Realm
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.Ignore
import io.realm.annotations.PrimaryKey
@ -19,16 +20,19 @@ import java.util.*
open class CustomField : RealmObject(), Manageable, StaticRowRepresentableDataSource, RowRepresentable {
enum class Type(var resId: Int) {
LIST(R.string.items_list),
NUMBER(R.string.number),
AMOUNT(R.string.amount)
}
companion object {
val rowRepresentation: List<RowRepresentable> by lazy {
val rows = ArrayList<RowRepresentable>()
rows.add(SimpleRow.NAME)
rows.addAll(CustomFieldRow.values())
rows
}
}
@ -38,6 +42,12 @@ open class CustomField : RealmObject(), Manageable, StaticRowRepresentableDataSo
// The name of the currency field
var name: String = ""
// Migration
var type: Int = Type.LIST.ordinal
var duplicateValue: Boolean = false
var entries: RealmList<String> = RealmList()
// @todo
override fun getDisplayName(): String {

Loading…
Cancel
Save