4.23.0: Добавлено отслеживание и улучшен UI
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m31s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m31s
This commit is contained in:
24
play-life-backend/migrations/000013_add_user_tracking.up.sql
Normal file
24
play-life-backend/migrations/000013_add_user_tracking.up.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
-- Таблица отслеживания между пользователями
|
||||
CREATE TABLE user_tracking (
|
||||
id SERIAL PRIMARY KEY,
|
||||
tracker_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
tracked_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT unique_tracking_pair UNIQUE (tracker_id, tracked_id),
|
||||
CONSTRAINT no_self_tracking CHECK (tracker_id != tracked_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_user_tracking_tracker ON user_tracking(tracker_id);
|
||||
CREATE INDEX idx_user_tracking_tracked ON user_tracking(tracked_id);
|
||||
|
||||
-- Таблица токенов приглашений (живут 1 час)
|
||||
CREATE TABLE tracking_invite_tokens (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
token VARCHAR(64) NOT NULL UNIQUE,
|
||||
expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX idx_tracking_invite_tokens_token ON tracking_invite_tokens(token);
|
||||
CREATE INDEX idx_tracking_invite_tokens_user ON tracking_invite_tokens(user_id);
|
||||
Reference in New Issue
Block a user