-- Unread messages tracking CREATE TABLE IF NOT EXISTS channel_reads ( user_id INT NOT NULL, channel_id INT NOT NULL, last_read_message_id INT NOT NULL, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (user_id, channel_id), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE );