16 lines
805 B
SQL
16 lines
805 B
SQL
-- Таблица просмотров задач пользователями.
|
|
-- Используется для вкладки «Последние» на главной: задачи, которые пользователь открывал.
|
|
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);
|