CREATE TABLE tickets ( id UUID PRIMARY KEY DEFAULT uuid_generate_v7(), user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, subject VARCHAR(255) NOT NULL, status VARCHAR(50) NOT NULL DEFAULT 'open', -- open, in_progress, closed priority VARCHAR(50) NOT NULL DEFAULT 'medium', -- low, medium, high created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_tickets_user_id ON tickets(user_id); CREATE INDEX idx_tickets_status ON tickets(status); CREATE TABLE ticket_messages ( id UUID PRIMARY KEY DEFAULT uuid_generate_v7(), ticket_id UUID NOT NULL REFERENCES tickets(id) ON DELETE CASCADE, user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, -- Sender message TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_ticket_messages_ticket_id ON ticket_messages(ticket_id);