diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt index fcfb76ba6..31ecae2cd 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt @@ -24,7 +24,23 @@ data class Highlight( // has a UserProfile (no inverse) ) -@Entity(primaryKeys = ["highlightId", "savedItemId"]) +@Entity( + primaryKeys = ["highlightId", "savedItemId"], + foreignKeys = [ + ForeignKey( + entity = Highlight::class, + parentColumns = arrayOf("highlightId"), + childColumns = arrayOf("highlightId"), + onDelete = ForeignKey.CASCADE + ), + ForeignKey( + entity = SavedItem::class, + parentColumns = arrayOf("savedItemId"), + childColumns = arrayOf("savedItemId"), + onDelete = ForeignKey.CASCADE + ) + ] +) data class SavedItemAndHighlightCrossRef( val highlightId: String, val savedItemId: String diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt index 512c1c564..ea3b3aa40 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItemLabel.kt @@ -18,7 +18,23 @@ interface SavedItemLabelDao { fun insertAll(items: List) } -@Entity(primaryKeys = ["savedItemLabelId", "savedItemId"]) +@Entity( + primaryKeys = ["savedItemLabelId", "savedItemId"], + foreignKeys = [ + ForeignKey( + entity = SavedItem::class, + parentColumns = arrayOf("savedItemId"), + childColumns = arrayOf("savedItemId"), + onDelete = ForeignKey.CASCADE + ), + ForeignKey( + entity = SavedItemLabel::class, + parentColumns = arrayOf("savedItemLabelId"), + childColumns = arrayOf("savedItemLabelId"), + onDelete = ForeignKey.CASCADE + ) + ] +) data class SavedItemAndSavedItemLabelCrossRef( val savedItemLabelId: String, val savedItemId: String