initial commit
This commit is contained in:
commit
b6f0791243
24 files changed
+3966
No files matched your search
@@ -0,0 +1,29 @@
|
||||
-- Бинго «Баланс 2.0» — схема SQLite (применяется сервером при каждом старте, повторно безопасно).
|
||||
-- Хранятся только анонимные данные: случайный id устройства, неделя, номер клетки, ответ опроса.
|
||||
-- Никаких имён, email, IP и времени событий.
|
||||
|
||||
-- Текущие отметки: одна строка = одна клетка, отмеченная устройством на неделе.
|
||||
-- Первичный ключ не даёт отметить одну клетку дважды за неделю с одного устройства.
|
||||
CREATE TABLE IF NOT EXISTS marks (
|
||||
device TEXT NOT NULL,
|
||||
week TEXT NOT NULL, -- понедельник недели, 'YYYY-MM-DD'
|
||||
cell INTEGER NOT NULL CHECK (cell BETWEEN 1 AND 16),
|
||||
PRIMARY KEY (device, week, cell)
|
||||
) WITHOUT ROWID;
|
||||
|
||||
-- Мини-опрос «Твоя батарейка сейчас?»: один ответ на устройство в неделю (можно поменять).
|
||||
CREATE TABLE IF NOT EXISTS pulse (
|
||||
device TEXT NOT NULL,
|
||||
week TEXT NOT NULL,
|
||||
answer TEXT NOT NULL CHECK (answer IN ('full', 'mid', 'low')),
|
||||
PRIMARY KEY (device, week)
|
||||
) WITHOUT ROWID;
|
||||
|
||||
-- Кэш общей суммы шагов: пересчитывается при каждой отметке,
|
||||
-- поэтому опрос батарейки читает одну строку.
|
||||
CREATE TABLE IF NOT EXISTS totals (
|
||||
key TEXT PRIMARY KEY,
|
||||
value INTEGER NOT NULL
|
||||
);
|
||||
|
||||
INSERT OR IGNORE INTO totals (key, value) VALUES ('steps', 0);
|
||||
Reference in new issue
Block a user