-- Migration 109: Create read_receipts table (v0.502 CH1-01) CREATE TABLE IF NOT EXISTS read_receipts ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, message_id UUID NOT NULL REFERENCES messages(id) ON DELETE CASCADE, read_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), CONSTRAINT uq_read_receipts_user_message UNIQUE (user_id, message_id) ); CREATE INDEX idx_read_receipts_message_id ON read_receipts(message_id); CREATE INDEX idx_read_receipts_user_id ON read_receipts(user_id);