PRAGMA journal_mode=WAL; PRAGMA foreign_keys=on; CREATE TABLE "families" ( "familyId" INTEGER PRIMARY KEY AUTOINCREMENT, "name" TEXT -- e.g. KEYone, Motion ); -- Needs SQLite 3.7 or newer INSERT INTO "families" ("name") VALUES ("KEYone"), ("Motion") ; CREATE TABLE "models" ( "modelId" INTEGER PRIMARY KEY AUTOINCREMENT, "familyId" INTEGER REFERENCES "families" ("familyId"), "name" TEXT -- e.g. BBB100-1 ); INSERT INTO "models" VALUES (0, "BBB100-1"), (0, "BBB100-2"), (1, "BBD100-1") ; CREATE TABLE "devices" ( "deviceId" INTEGER PRIMARY KEY AUTOINCREMENT, "ref" TEXT, -- PRD number "modelId" INTEGER REFERENCES "models" ("modelId"), "name" TEXT -- e.g. Unlocked USA, Black KEYone ); INSERT INTO "devices" VALUES ("PRD-63117-011", 1, "Unlocked EMEA"), ("PRD-63116-001", 0, "Unlocked USA") ; CREATE TABLE "updates" ( "updateId" INTEGER PRIMARY KEY AUTOINCREMENT, "fv" TEXT, -- version, e.g. AAQ302 "sha1" TEXT, -- SHA1 checksum of file "type" TEXT, -- FULL or OTA "note" TEXT, -- some note for this file (optional) ); -- Maps update files to devices CREATE TABLE "update_map" ( "deviceId" INTEGER REFERENCES "devices" ("deviceId"), "updateId" INTEGER REFERENCES "updates" ("updateId") );