From b708ad942e060a285e21de87464b5ff874d50e9b Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Mon, 8 Aug 2016 09:01:36 +0200 Subject: [PATCH] db refactoring: add proposed schema for pebble health overlays --- .../gadgetbridge/daogen/GBDaoGenerator.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java b/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java index a934cd9c..10a07e09 100644 --- a/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java +++ b/GBDaoGenerator/src/nodomain/freeyourgadget/gadgetbridge/daogen/GBDaoGenerator.java @@ -46,6 +46,7 @@ public class GBDaoGenerator { addMiBandActivitySample(schema, user, device); addPebbleHealthActivitySample(schema, user, device); + addPebbleHealthActivityKindOverlay(schema, user, device); addPebbleMisfitActivitySample(schema, user, device); addPebbleMorpheuzActivitySample(schema, user, device); @@ -152,6 +153,28 @@ public class GBDaoGenerator { return activitySample; } + private static Entity addPebbleHealthActivityKindOverlay(Schema schema, Entity user, Entity device) { + Entity activityOverlay = addEntity(schema, "PebbleHealthActivityOverlay"); + activityOverlay.addIdProperty(); + Property timestampFrom = activityOverlay.addIntProperty("timestampFrom").notNull().getProperty(); + Property timestampTo = activityOverlay.addIntProperty("timestampTo").notNull().getProperty(); + activityOverlay.addIntProperty("rawKind").notNull(); + + Property userId = activityOverlay.addLongProperty("userId").getProperty(); + activityOverlay.addToOne(user, userId); + Property deviceId = activityOverlay.addLongProperty("deviceId").getProperty(); + activityOverlay.addToOne(device, deviceId); + + Index indexUnique = new Index(); + indexUnique.addProperty(deviceId); + indexUnique.addProperty(timestampFrom); + indexUnique.addProperty(timestampTo); + indexUnique.makeUnique(); + activityOverlay.addIndex(indexUnique); + + return activityOverlay; + } + private static Entity addPebbleMisfitActivitySample(Schema schema, Entity user, Entity device) { Entity activitySample = addEntity(schema, "PebbleMisfitSample"); addCommonActivitySampleProperties("AbstractPebbleMisfitActivitySample", activitySample, user, device);