Archived
Successfully completed database change OMG; this will save memory by storing less duplicate data
This commit is contained in:
@@ -4,12 +4,12 @@ import androidx.lifecycle.LiveData
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import com.denizk0461.studip.model.CanteenOffer
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
import com.denizk0461.studip.model.*
|
||||
|
||||
@Dao
|
||||
interface EventDAO {
|
||||
|
||||
// Stud.IP schedule events
|
||||
@get:Query("SELECT * FROM events ORDER BY id")
|
||||
val allEvents: LiveData<List<StudIPEvent>>
|
||||
|
||||
@@ -22,12 +22,39 @@ interface EventDAO {
|
||||
@Query("DELETE FROM events")
|
||||
fun nukeEvents()
|
||||
|
||||
@get:Query("SELECT * FROM offers ORDER BY id")
|
||||
// @get:Query("SELECT * FROM offers ORDER BY id")
|
||||
// val allOffers: LiveData<List<CanteenOffer>>
|
||||
//
|
||||
// @Insert
|
||||
// fun insertOffers(offers: List<CanteenOffer>)
|
||||
//
|
||||
// @Query("DELETE from offers")
|
||||
// fun nukeOffers()
|
||||
|
||||
// canteen offers
|
||||
// get all offers
|
||||
@get:Query(
|
||||
"SELECT * FROM offer_item " +
|
||||
"JOIN offer_category ON offer_item.categoryId = offer_category.id " +
|
||||
"JOIN offer_canteen ON offer_category.canteenId = offer_canteen.id " +
|
||||
"JOIN offer_date ON offer_category.dateId = offer_date.id"
|
||||
)
|
||||
val allOffers: LiveData<List<CanteenOffer>>
|
||||
|
||||
@Insert
|
||||
fun insertOffers(offers: List<CanteenOffer>)
|
||||
@Query("DELETE FROM offer_date")
|
||||
fun nukeOfferDates()
|
||||
|
||||
@Query("DELETE from offers")
|
||||
fun nukeOffers()
|
||||
@Query("DELETE FROM offer_category")
|
||||
fun nukeOfferCategories()
|
||||
|
||||
@Query("DELETE FROM offer_canteen")
|
||||
fun nukeOfferCanteens()
|
||||
|
||||
@Query("DELETE FROM offer_item")
|
||||
fun nukeOfferItems()
|
||||
|
||||
@Insert fun insert(date: OfferDate)
|
||||
@Insert fun insert(canteen: OfferCanteen)
|
||||
@Insert fun insert(category: OfferCategory)
|
||||
@Insert fun insert(item: OfferItem)
|
||||
}
|
||||
@@ -4,10 +4,18 @@ import android.content.Context
|
||||
import androidx.room.Database
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
import com.denizk0461.studip.model.CanteenOffer
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
import com.denizk0461.studip.model.*
|
||||
|
||||
@Database(entities = [StudIPEvent::class, CanteenOffer::class], version = 7)
|
||||
@Database(
|
||||
entities = [
|
||||
StudIPEvent::class,
|
||||
OfferDate::class,
|
||||
OfferCanteen::class,
|
||||
OfferCategory::class,
|
||||
OfferItem::class
|
||||
],
|
||||
version = 8
|
||||
)
|
||||
abstract class EventDatabase : RoomDatabase() {
|
||||
|
||||
abstract fun dao(): EventDAO
|
||||
|
||||
@@ -2,8 +2,7 @@ package com.denizk0461.studip.db
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.LiveData
|
||||
import com.denizk0461.studip.model.CanteenOffer
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
import com.denizk0461.studip.model.*
|
||||
|
||||
class EventRepository(app: Application) {
|
||||
|
||||
@@ -17,6 +16,16 @@ class EventRepository(app: Application) {
|
||||
|
||||
val allOffers: LiveData<List<CanteenOffer>> = dao.allOffers
|
||||
|
||||
fun insertOffers(offers: List<CanteenOffer>) { dao.insertOffers(offers) }
|
||||
fun nukeOffers() { dao.nukeOffers() }
|
||||
// fun insertOffers(offers: List<CanteenOffer>) { dao.insertOffers(offers) }
|
||||
fun nukeOffers() {
|
||||
dao.nukeOfferItems()
|
||||
dao.nukeOfferCategories()
|
||||
dao.nukeOfferCanteens()
|
||||
dao.nukeOfferDates()
|
||||
}
|
||||
|
||||
fun insert(date: OfferDate) { dao.insert(date) }
|
||||
fun insert(canteen: OfferCanteen) { dao.insert(canteen) }
|
||||
fun insert(category: OfferCategory) { dao.insert(category) }
|
||||
fun insert(item: OfferItem) { dao.insert(item) }
|
||||
}
|
||||
Reference in New Issue
Block a user