Files
glchat/internal/database/migrations/00009_voice_states.sql
T

23 lines
1.1 KiB
SQL
Raw Normal View History

-- +goose Up
-- Голосовые состояния: кто в какой голосовой комнате и с какими флагами
-- (AGENT.md 7.14). Хранится по одной записи на пользователя в сервере.
CREATE TABLE voice_states (
user_id INTEGER NOT NULL REFERENCES users (id) ON DELETE CASCADE,
guild_id INTEGER NOT NULL REFERENCES guilds (id) ON DELETE CASCADE,
channel_id INTEGER NOT NULL REFERENCES channels (id) ON DELETE CASCADE,
session_id TEXT NOT NULL DEFAULT '',
self_mute INTEGER NOT NULL DEFAULT 0,
self_deaf INTEGER NOT NULL DEFAULT 0,
server_mute INTEGER NOT NULL DEFAULT 0,
server_deaf INTEGER NOT NULL DEFAULT 0,
camera INTEGER NOT NULL DEFAULT 0,
screen INTEGER NOT NULL DEFAULT 0,
joined_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
PRIMARY KEY (user_id, guild_id)
);
CREATE INDEX voice_states_channel_idx ON voice_states (channel_id);
-- +goose Down
DROP TABLE voice_states;