5.1.0: Fitbit: привязки к задачам, цели из API
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m23s

This commit is contained in:
poignatov
2026-02-09 17:06:08 +03:00
parent 29bd50acab
commit 242183a422
7 changed files with 724 additions and 349 deletions

View File

@@ -0,0 +1,42 @@
-- =============================================
-- Удаляем старые колонки целей (goals) из fitbit_integrations
-- Теперь цели берутся из Fitbit API
-- =============================================
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_steps_min;
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_steps_max;
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_floors_min;
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_floors_max;
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_azm_min;
ALTER TABLE fitbit_integrations DROP COLUMN IF EXISTS goal_azm_max;
-- =============================================
-- Удаляем AZM колонку из fitbit_daily_stats
-- =============================================
ALTER TABLE fitbit_daily_stats DROP COLUMN IF EXISTS active_zone_minutes;
-- =============================================
-- Добавляем колонки для кэширования целей из Fitbit API
-- =============================================
ALTER TABLE fitbit_daily_stats ADD COLUMN goal_steps INTEGER;
ALTER TABLE fitbit_daily_stats ADD COLUMN goal_floors INTEGER;
-- =============================================
-- Добавляем привязки к задачам для записи прогресса
-- steps_task_id - задача куда записывать шаги как progression_value
-- floors_task_id - задача куда записывать этажи как progression_value
-- =============================================
ALTER TABLE fitbit_integrations ADD COLUMN steps_task_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;
ALTER TABLE fitbit_integrations ADD COLUMN floors_task_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;
-- =============================================
-- Добавляем привязки для целей (goals)
-- Для каждой цели храним И задачу И подзадачу
-- steps_goal_task_id - родительская задача для цели шагов
-- steps_goal_subtask_id - подзадача внутри неё, которая будет checked/unchecked
-- floors_goal_task_id - родительская задача для цели этажей
-- floors_goal_subtask_id - подзадача внутри неё
-- =============================================
ALTER TABLE fitbit_integrations ADD COLUMN steps_goal_task_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;
ALTER TABLE fitbit_integrations ADD COLUMN steps_goal_subtask_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;
ALTER TABLE fitbit_integrations ADD COLUMN floors_goal_task_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;
ALTER TABLE fitbit_integrations ADD COLUMN floors_goal_subtask_id INTEGER REFERENCES tasks(id) ON DELETE SET NULL;