-- Таблица просмотров задач пользователями. -- Используется для вкладки «Последние» на главной: задачи, которые пользователь открывал. CREATE TABLE IF NOT EXISTS task_views ( id SERIAL PRIMARY KEY, task_id INTEGER NOT NULL REFERENCES tasks(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE, viewed_at TIMESTAMP DEFAULT NOW(), UNIQUE (organization_id, user_id, task_id) ); CREATE INDEX IF NOT EXISTS task_views_user_viewed_at_idx ON task_views (organization_id, user_id, viewed_at DESC); CREATE INDEX IF NOT EXISTS task_views_task_idx ON task_views (task_id);