add migration for offlineEvents

This commit is contained in:
Felix 2017-11-26 02:21:49 +01:00
parent bfbf3ba92b
commit 5ea7a095fd
2 changed files with 26 additions and 5 deletions

View file

@ -1,8 +1,10 @@
package de.nicidienase.chaosflix.common.entities
import android.arch.persistence.db.SupportSQLiteDatabase
import android.arch.persistence.room.Database
import android.arch.persistence.room.RoomDatabase
import android.arch.persistence.room.TypeConverters
import android.arch.persistence.room.migration.Migration
import de.nicidienase.chaosflix.common.entities.download.OfflineEvent
import de.nicidienase.chaosflix.common.entities.download.OfflineEventDao
import de.nicidienase.chaosflix.common.entities.recording.persistence.*
@ -18,7 +20,7 @@ import de.nicidienase.chaosflix.common.entities.userdata.WatchlistItemDao
ConferenceGroup::class,
PlaybackProgress::class,
WatchlistItem::class,
OfflineEvent::class), version = 2, exportSchema = false)
OfflineEvent::class), version = 3, exportSchema = false)
@TypeConverters(Converters::class)
abstract class ChaosflixDatabase : RoomDatabase() {
abstract fun playbackProgressDao(): PlaybackProgressDao
@ -31,4 +33,21 @@ abstract class ChaosflixDatabase : RoomDatabase() {
abstract fun conferenceGroupDao(): ConferenceGroupDao
abstract fun offlineEventDao(): OfflineEventDao
companion object {
val migration_2_3 = object : Migration(2, 3) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("CREATE TABLE `offline_event` (" +
"´id´ INTEGER, " +
"`event_id` TEXT," +
"`recording_id` TEXT, " +
"`download_reference` TEXT" +
"`local_path` TEXT" +
"PRIMARY KEY (`id`)")
}
}
}
}

View file

@ -1,9 +1,8 @@
package de.nicidienase.chaosflix.common.entities.download
import android.arch.persistence.room.ColumnInfo
import android.arch.persistence.room.Entity
import android.arch.persistence.room.Index
import android.arch.persistence.room.PrimaryKey
import android.arch.persistence.room.*
import de.nicidienase.chaosflix.common.entities.recording.persistence.PersistentEvent
import de.nicidienase.chaosflix.common.entities.recording.persistence.PersistentRecording
@Entity(tableName = "offline_event",
indices = arrayOf(Index(value = "event_id", unique = true)))
@ -14,4 +13,7 @@ data class OfflineEvent(
@ColumnInfo(name = "local_path") var localPath: String){
@PrimaryKey(autoGenerate = true) var id: Long = 0
@Ignore var event: PersistentEvent? = null
@Ignore var recording: PersistentRecording? = null
}