-- +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;