From a77960d57f90e75a887b66c913cd4e75da7ec6d8 Mon Sep 17 00:00:00 2001 From: Arka Prava Basu Date: Sun, 10 Jun 2018 18:55:35 +0530 Subject: [PATCH] Make database migration ready - change table names - change database name to existing name haven.db - change database version to existing version 3 - change column names and properties to existing ones (NON NULL to NULL) - change autoGenerate property default values to null due to this Signed-off-by: Arka Prava Basu --- src/main/java/org/havenapp/main/dao/EventDAO.kt | 10 +++++----- .../org/havenapp/main/dao/EventTriggerDAO.kt | 10 +++++----- .../org/havenapp/main/database/HavenEventDB.kt | 5 ++--- src/main/java/org/havenapp/main/model/Event.kt | 9 ++++++--- .../java/org/havenapp/main/model/EventTrigger.kt | 16 +++++++++++----- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/havenapp/main/dao/EventDAO.kt b/src/main/java/org/havenapp/main/dao/EventDAO.kt index 829bb8fc..65ff890b 100644 --- a/src/main/java/org/havenapp/main/dao/EventDAO.kt +++ b/src/main/java/org/havenapp/main/dao/EventDAO.kt @@ -18,15 +18,15 @@ interface EventDAO { @Update fun update(event: Event) - @Query("SELECT * FROM event_table WHERE id = :id") - fun findById(id: Long) : Event + @Query("SELECT * FROM EVENT WHERE ID = :id") + fun findById(id: Long?) : Event - @Query("SELECT * FROM event_table ORDER BY id") + @Query("SELECT * FROM EVENT ORDER BY ID") fun getAllEvent() : List - @Query("SELECT * FROM event_table ORDER BY id DESC") + @Query("SELECT * FROM EVENT ORDER BY ID DESC") fun getAllEventDesc() : List - @Query("SELECT COUNT(*) FROM event_table") + @Query("SELECT COUNT(*) FROM EVENT") fun count() : Int } \ No newline at end of file diff --git a/src/main/java/org/havenapp/main/dao/EventTriggerDAO.kt b/src/main/java/org/havenapp/main/dao/EventTriggerDAO.kt index 079d7c9b..543ba66b 100644 --- a/src/main/java/org/havenapp/main/dao/EventTriggerDAO.kt +++ b/src/main/java/org/havenapp/main/dao/EventTriggerDAO.kt @@ -18,12 +18,12 @@ interface EventTriggerDAO { @Update fun update(eventTrigger: EventTrigger) - @Query("SELECT * FROM event_trigger_table WHERE id = :id") - fun findById(id : Long) : EventTrigger + @Query("SELECT * FROM EVENT_TRIGGER WHERE ID = :id") + fun findById(id : Long?) : EventTrigger - @Query("SELECT * FROM event_trigger_table WHERE mEventId = :eventId") - fun getEventTriggerList(eventId: Long) : MutableList + @Query("SELECT * FROM EVENT_TRIGGER WHERE M_EVENT_ID = :eventId") + fun getEventTriggerList(eventId: Long?) : MutableList - @Query("SELECT * FROM event_trigger_table") + @Query("SELECT * FROM EVENT_TRIGGER") fun getAllEventTriggers() : MutableList } \ No newline at end of file diff --git a/src/main/java/org/havenapp/main/database/HavenEventDB.kt b/src/main/java/org/havenapp/main/database/HavenEventDB.kt index 8d639a77..21cdc99a 100644 --- a/src/main/java/org/havenapp/main/database/HavenEventDB.kt +++ b/src/main/java/org/havenapp/main/database/HavenEventDB.kt @@ -14,7 +14,7 @@ import org.havenapp.main.model.EventTrigger /** * Created by Arka Prava Basu on 23/5/18. */ -@Database(entities = [(Event::class), (EventTrigger::class)], version = 1) +@Database(entities = [(Event::class), (EventTrigger::class)], version = 3) @TypeConverters(HavenEventDBConverters::class) abstract class HavenEventDB: RoomDatabase() { @@ -32,9 +32,8 @@ abstract class HavenEventDB: RoomDatabase() { synchronized(HavenEventDB::class) { if (INSTANCE == null) { INSTANCE = Room.databaseBuilder(context.applicationContext, - HavenEventDB::class.java, "haven_database") + HavenEventDB::class.java, "haven.db") .allowMainThreadQueries() // todo remove this - .fallbackToDestructiveMigration() .build() } } diff --git a/src/main/java/org/havenapp/main/model/Event.kt b/src/main/java/org/havenapp/main/model/Event.kt index 0111ceca..1c9ad12c 100644 --- a/src/main/java/org/havenapp/main/model/Event.kt +++ b/src/main/java/org/havenapp/main/model/Event.kt @@ -1,5 +1,6 @@ package org.havenapp.main.model +import android.arch.persistence.room.ColumnInfo import android.arch.persistence.room.Entity import android.arch.persistence.room.Ignore import android.arch.persistence.room.PrimaryKey @@ -9,14 +10,16 @@ import java.util.* /** * Created by Arka Prava Basu on 20/5/18. */ -@Entity(tableName = "event_table") +@Entity(tableName = "EVENT") class Event { @PrimaryKey(autoGenerate = true) - var id : Long = 0 + @ColumnInfo(name = "ID") + var id : Long? = null get() = field - var mStartTime : Date = Date() + @ColumnInfo(name = "M_START_TIME") + var mStartTime : Date? = Date() @Ignore private var mEventTriggers : MutableList = mutableListOf() diff --git a/src/main/java/org/havenapp/main/model/EventTrigger.kt b/src/main/java/org/havenapp/main/model/EventTrigger.kt index 6c9acc4b..ee687a45 100644 --- a/src/main/java/org/havenapp/main/model/EventTrigger.kt +++ b/src/main/java/org/havenapp/main/model/EventTrigger.kt @@ -1,5 +1,6 @@ package org.havenapp.main.model +import android.arch.persistence.room.ColumnInfo import android.arch.persistence.room.Entity import android.arch.persistence.room.PrimaryKey import android.content.Context @@ -9,7 +10,7 @@ import java.util.* /** * Created by Arka Prava Basu on 22/5/18. */ -@Entity(tableName = "event_trigger_table") +@Entity(tableName = "EVENT_TRIGGER") class EventTrigger { companion object { /** @@ -59,16 +60,21 @@ class EventTrigger { } @PrimaryKey(autoGenerate = true) - var id : Long = 0 + @ColumnInfo(name = "ID") + var id : Long? = null get() = field - var mType: Int = 0 + @ColumnInfo(name = "M_TYPE") + var mType: Int? = 0 // Trigger time - var mTime: Date = Date() + @ColumnInfo(name = "M_TIME") + var mTime: Date? = Date() - var mEventId: Long = 0 + @ColumnInfo(name = "M_EVENT_ID") + var mEventId: Long? = 0 + @ColumnInfo(name = "M_PATH") var mPath: String? = null fun getStringType(context: Context): String {