243_support_tickets.sql 1.0 KB

123456789101112131415161718192021222324
  1. -- 243_support_tickets.sql
  2. -- 轻量工单系统:用户提交问题,管理员回复,任一方可关闭。
  3. CREATE TABLE IF NOT EXISTS support_tickets (
  4. id BIGSERIAL PRIMARY KEY,
  5. user_id BIGINT NOT NULL,
  6. subject VARCHAR(200) NOT NULL,
  7. status VARCHAR(16) NOT NULL DEFAULT 'open',
  8. created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  9. updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  10. closed_at TIMESTAMPTZ
  11. );
  12. CREATE TABLE IF NOT EXISTS support_ticket_replies (
  13. id BIGSERIAL PRIMARY KEY,
  14. ticket_id BIGINT NOT NULL REFERENCES support_tickets(id) ON DELETE CASCADE,
  15. author_type VARCHAR(8) NOT NULL,
  16. author_id BIGINT NOT NULL DEFAULT 0,
  17. body TEXT NOT NULL,
  18. created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
  19. );
  20. CREATE INDEX IF NOT EXISTS idx_support_tickets_user_status ON support_tickets(user_id, status);
  21. CREATE INDEX IF NOT EXISTS idx_support_tickets_status ON support_tickets(status);
  22. CREATE INDEX IF NOT EXISTS idx_support_ticket_replies_ticket ON support_ticket_replies(ticket_id);