Archived
Implemented data classes for database optimisations
This commit is contained in:
@@ -3,9 +3,10 @@ package com.denizk0461.studip.model
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity(tableName = "offers")
|
||||
//@Entity(tableName = "offers")
|
||||
data class CanteenOffer(
|
||||
@PrimaryKey val id: Int,
|
||||
// @PrimaryKey val id: Int,
|
||||
val id: Int,
|
||||
val date: String,
|
||||
val dateId: Int, // gives every item on the same day the same ID for easier filtering
|
||||
// val canteen: Int,
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package com.denizk0461.studip.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity(
|
||||
tableName = "offer_canteen",
|
||||
)
|
||||
data class OfferCanteen(
|
||||
val id: Int,
|
||||
@PrimaryKey val id: Int,
|
||||
val canteen: String,
|
||||
)
|
||||
@@ -1,8 +1,30 @@
|
||||
package com.denizk0461.studip.model
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity(
|
||||
tableName = "offer_category",
|
||||
foreignKeys = [
|
||||
ForeignKey(
|
||||
OfferDate::class,
|
||||
["id"],
|
||||
["date_id"],
|
||||
ForeignKey.CASCADE,
|
||||
),
|
||||
ForeignKey(
|
||||
OfferCanteen::class,
|
||||
["id"],
|
||||
["canteen_id"],
|
||||
ForeignKey.CASCADE,
|
||||
),
|
||||
]
|
||||
)
|
||||
data class OfferCategory(
|
||||
val id: Int,
|
||||
val dateId: Int,
|
||||
val canteenId: Int,
|
||||
@PrimaryKey val id: Int,
|
||||
@ColumnInfo(name = "date_id") val dateId: Int,
|
||||
@ColumnInfo(name = "canteen_id") val canteenId: Int,
|
||||
val category: String,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package com.denizk0461.studip.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity(
|
||||
tableName = "offer_date",
|
||||
)
|
||||
data class OfferDate(
|
||||
val id: Int,
|
||||
@PrimaryKey val id: Int,
|
||||
val date: String,
|
||||
)
|
||||
|
||||
@@ -1,8 +1,24 @@
|
||||
package com.denizk0461.studip.model
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity(
|
||||
tableName = "offer_item",
|
||||
foreignKeys = [
|
||||
ForeignKey(
|
||||
OfferCategory::class,
|
||||
["id"],
|
||||
["category_id"],
|
||||
ForeignKey.CASCADE,
|
||||
),
|
||||
]
|
||||
)
|
||||
data class OfferItem(
|
||||
val id: Int,
|
||||
val categoryId: Int,
|
||||
@PrimaryKey val id: Int,
|
||||
@ColumnInfo(name = "category_id") val categoryId: Int,
|
||||
val title: Int,
|
||||
val price: String,
|
||||
val isFair: Boolean,
|
||||
|
||||
Reference in New Issue
Block a user