add database migrations

This commit is contained in:
johan12345
2020-06-21 19:36:33 +02:00
parent 45dd40faa7
commit 95dd8cce52
2 changed files with 10 additions and 4 deletions

View File

@@ -22,7 +22,7 @@ import net.vonforst.evmap.viewmodel.SliderFilterValue
Plug::class,
Network::class,
ChargeCard::class
], version = 7
], version = 8
)
@TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() {
@@ -38,7 +38,7 @@ abstract class AppDatabase : RoomDatabase() {
Room.databaseBuilder(context, AppDatabase::class.java, "evmap.db")
.addMigrations(
MIGRATION_2, MIGRATION_3, MIGRATION_4, MIGRATION_5, MIGRATION_6,
MIGRATION_7
MIGRATION_7, MIGRATION_8
)
.build()
}
@@ -114,5 +114,11 @@ abstract class AppDatabase : RoomDatabase() {
db.execSQL("CREATE TABLE IF NOT EXISTS `ChargeCard` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, PRIMARY KEY(`id`))")
}
}
private val MIGRATION_8 = object : Migration(7, 8) {
override fun migrate(db: SupportSQLiteDatabase) {
db.execSQL("ALTER TABLE `ChargeLocation` ADD `chargecards` TEXT")
}
}
}
}

View File

@@ -54,8 +54,8 @@ class Converters {
}
@TypeConverter
fun toChargeCardIdList(value: String): List<ChargeCardId>? {
return chargeCardIdListAdapter.fromJson(value)
fun toChargeCardIdList(value: String?): List<ChargeCardId>? {
return value?.let { chargeCardIdListAdapter.fromJson(it) }
}
@TypeConverter