-- ============================================= -- Удаляем старые колонки целей (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;