From f2c2942d9c52623efd832c317a866ff98e0419b4 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Wed, 1 Nov 2017 18:47:41 +0100 Subject: [PATCH] First draft of database structure. --- initdb.sh | 2 ++ sql/dbschema.sql | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 initdb.sh create mode 100644 sql/dbschema.sql diff --git a/initdb.sh b/initdb.sh new file mode 100755 index 0000000..ae2e40a --- /dev/null +++ b/initdb.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sqlite3 otadb.db3 < sql/dbschema.sql diff --git a/sql/dbschema.sql b/sql/dbschema.sql new file mode 100644 index 0000000..259826b --- /dev/null +++ b/sql/dbschema.sql @@ -0,0 +1,45 @@ +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 "otas" ( + "otaId" INTEGER PRIMARY KEY AUTOINCREMENT, + "fv" TEXT, -- e.g. AAQ302 + "sha1" TEXT -- SHA1 checksum of OTA file +); +