diff --git a/app/src/main/java/net/vonforst/evmap/api/goingelectric/GoingElectricModel.kt b/app/src/main/java/net/vonforst/evmap/api/goingelectric/GoingElectricModel.kt index 94566aab..567cafdb 100644 --- a/app/src/main/java/net/vonforst/evmap/api/goingelectric/GoingElectricModel.kt +++ b/app/src/main/java/net/vonforst/evmap/api/goingelectric/GoingElectricModel.kt @@ -217,7 +217,7 @@ data class GEFaultReport(val created: Instant?, val description: String?) { } @JsonClass(generateAdapter = true) -@Entity(tableName = "ChargeCard") +@Entity data class GEChargeCard( @Json(name = "card_id") @PrimaryKey val id: Long, val name: String, diff --git a/app/src/main/java/net/vonforst/evmap/storage/Database.kt b/app/src/main/java/net/vonforst/evmap/storage/Database.kt index 70ed0b69..dd911731 100644 --- a/app/src/main/java/net/vonforst/evmap/storage/Database.kt +++ b/app/src/main/java/net/vonforst/evmap/storage/Database.kt @@ -26,7 +26,7 @@ import net.vonforst.evmap.model.* OCMConnectionType::class, OCMCountry::class, OCMOperator::class - ], version = 16 + ], version = 17 ) @TypeConverters(Converters::class) abstract class AppDatabase : RoomDatabase() { @@ -47,7 +47,8 @@ abstract class AppDatabase : RoomDatabase() { .addMigrations( MIGRATION_2, MIGRATION_3, MIGRATION_4, MIGRATION_5, MIGRATION_6, MIGRATION_7, MIGRATION_8, MIGRATION_9, MIGRATION_10, MIGRATION_11, - MIGRATION_12, MIGRATION_13, MIGRATION_14, MIGRATION_15, MIGRATION_16 + MIGRATION_12, MIGRATION_13, MIGRATION_14, MIGRATION_15, MIGRATION_16, + MIGRATION_17 ) .addCallback(object : Callback() { override fun onCreate(db: SupportSQLiteDatabase) { @@ -273,5 +274,20 @@ abstract class AppDatabase : RoomDatabase() { } } } + + private val MIGRATION_17 = object : Migration(16, 17) { + // rename GE-specific tables + override fun migrate(db: SupportSQLiteDatabase) { + db.beginTransaction() + try { + db.execSQL("ALTER TABLE `ChargeCard` RENAME TO `GEChargeCard`") + db.execSQL("ALTER TABLE `Network` RENAME TO `GENetwork`") + db.execSQL("ALTER TABLE `Plug` RENAME TO `GEPlug`") + db.setTransactionSuccessful() + } finally { + db.endTransaction() + } + } + } } } \ No newline at end of file diff --git a/app/src/main/java/net/vonforst/evmap/storage/GEReferenceDataDao.kt b/app/src/main/java/net/vonforst/evmap/storage/GEReferenceDataDao.kt index 1e79d08c..41d50194 100644 --- a/app/src/main/java/net/vonforst/evmap/storage/GEReferenceDataDao.kt +++ b/app/src/main/java/net/vonforst/evmap/storage/GEReferenceDataDao.kt @@ -12,10 +12,10 @@ import net.vonforst.evmap.viewmodel.Status import java.time.Duration import java.time.Instant -@Entity(tableName = "Network") +@Entity data class GENetwork(@PrimaryKey val name: String) -@Entity(tableName = "Plug") +@Entity data class GEPlug(@PrimaryKey val name: String) @Dao @@ -24,7 +24,7 @@ abstract class GEReferenceDataDao { @Insert(onConflict = OnConflictStrategy.REPLACE) abstract suspend fun insert(vararg networks: GENetwork) - @Query("DELETE FROM network") + @Query("DELETE FROM genetwork") abstract fun deleteAllNetworks() @Transaction @@ -35,14 +35,14 @@ abstract class GEReferenceDataDao { } } - @Query("SELECT * FROM network") + @Query("SELECT * FROM genetwork") abstract fun getAllNetworks(): LiveData> // PLUGS @Insert(onConflict = OnConflictStrategy.REPLACE) abstract suspend fun insert(vararg plugs: GEPlug) - @Query("DELETE FROM plug") + @Query("DELETE FROM geplug") abstract fun deleteAllPlugs() @Transaction @@ -53,14 +53,14 @@ abstract class GEReferenceDataDao { } } - @Query("SELECT * FROM plug") + @Query("SELECT * FROM geplug") abstract fun getAllPlugs(): LiveData> // CHARGE CARDS @Insert(onConflict = OnConflictStrategy.REPLACE) abstract suspend fun insert(vararg chargeCards: GEChargeCard) - @Query("DELETE FROM chargecard") + @Query("DELETE FROM gechargecard") abstract fun deleteAllChargeCards() @Transaction @@ -71,7 +71,7 @@ abstract class GEReferenceDataDao { } } - @Query("SELECT * FROM chargecard") + @Query("SELECT * FROM gechargecard") abstract fun getAllChargeCards(): LiveData> }