-- 243_support_tickets.sql -- 轻量工单系统:用户提交问题,管理员回复,任一方可关闭。 CREATE TABLE IF NOT EXISTS support_tickets ( id BIGSERIAL PRIMARY KEY, user_id BIGINT NOT NULL, subject VARCHAR(200) NOT NULL, status VARCHAR(16) NOT NULL DEFAULT 'open', created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), closed_at TIMESTAMPTZ ); CREATE TABLE IF NOT EXISTS support_ticket_replies ( id BIGSERIAL PRIMARY KEY, ticket_id BIGINT NOT NULL REFERENCES support_tickets(id) ON DELETE CASCADE, author_type VARCHAR(8) NOT NULL, author_id BIGINT NOT NULL DEFAULT 0, body TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_support_tickets_user_status ON support_tickets(user_id, status); CREATE INDEX IF NOT EXISTS idx_support_tickets_status ON support_tickets(status); CREATE INDEX IF NOT EXISTS idx_support_ticket_replies_ticket ON support_ticket_replies(ticket_id);