From d86edd76889531a6d5215b9fe6c31cc9a2220449 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Fri, 5 May 2017 16:50:52 +0100 Subject: [PATCH] Journal model: add a unique constraint to journal UIDs. Journals and services should be unique together, this wasn't there because of an issue with requery that should now be resolved. --- .../java/com/etesync/syncadapter/model/JournalModel.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/model/JournalModel.java b/app/src/main/java/com/etesync/syncadapter/model/JournalModel.java index 06c1adf4..d837f2d7 100644 --- a/app/src/main/java/com/etesync/syncadapter/model/JournalModel.java +++ b/app/src/main/java/com/etesync/syncadapter/model/JournalModel.java @@ -19,14 +19,14 @@ import io.requery.Table; import io.requery.sql.EntityDataStore; public class JournalModel { - // FIXME: Add unique constraint on the uid + service combination. Can't do it at the moment because requery is broken. @Entity - @Table(name = "Journal") + @Table(name = "Journal", uniqueIndexes = "journal_unique_together") public static abstract class Journal { @Key @Generated int id; + @Index(value = "journal_unique_together") @Column(length = 64, nullable = false) String uid; @@ -41,6 +41,7 @@ public class JournalModel { @Deprecated long service; + @Index(value = "journal_unique_together") @ForeignKey(update = ReferentialAction.CASCADE) @ManyToOne Service serviceModel;