initial commit

This commit is contained in:
Olga Bregar Dunaeva committed 2026-10-30 17:20:47 +01:00
commit b6f0791243
24 files changed
+3966

No files matched your search

+29
View File
@@ -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);