Some migration fixes

especially: add unique index on samples using timestamp and device id
(since composite primary keys are not fully supported yet)
This commit is contained in:
cpfeiffer
2016-06-19 00:40:51 +02:00
parent 04c8a17d6e
commit 0596c80381
4 changed files with 11 additions and 6 deletions
@@ -17,6 +17,7 @@ package nodomain.freeyourgadget.gadgetbridge.daogen;
import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Index;
import de.greenrobot.daogenerator.Property;
import de.greenrobot.daogenerator.Schema;
@@ -33,7 +34,7 @@ public class GBDaoGenerator {
private static final String VALID_BY_DATE = MODEL_PACKAGE + ".ValidByDate";
public static void main(String[] args) throws Exception {
Schema schema = new Schema(10, MAIN_PACKAGE + ".entities");
Schema schema = new Schema(7, MAIN_PACKAGE + ".entities");
addActivityDescription(schema);
@@ -157,7 +158,7 @@ public class GBDaoGenerator {
"intensity, are device specific. Normalized values can be retrieved through the\n" +
"corresponding {@link SampleProvider}.");
activitySample.addIdProperty();
activitySample.addIntProperty("timestamp").notNull();
Property timestamp = activitySample.addIntProperty("timestamp").notNull().getProperty();
activitySample.addIntProperty("rawIntensity").notNull();
activitySample.addIntProperty("steps").notNull();
activitySample.addIntProperty("rawKind").notNull();
@@ -165,6 +166,12 @@ public class GBDaoGenerator {
activitySample.addToOne(user, userId);
Property deviceId = activitySample.addLongProperty("deviceId").getProperty();
activitySample.addToOne(device, deviceId);
Index indexUnique = new Index();
indexUnique.addProperty(timestamp);
indexUnique.addProperty(deviceId);
indexUnique.makeUnique();
activitySample.addIndex(indexUnique);
}
private static Entity addEntity(Schema schema, String className) {