GCMod

Database

Database schema and migration notes for gcm-reports.


Current shipped schema file

database.sql currently creates:

  • gcm_reports
  • gcm_report_messages
  • gcm_report_types
  • gcm_teleport_points
  • gcm_config
  • gcm_reports_groups
  • gcm_reports_staff

Runtime tables used by server code

server/database/Database.lua queries:

  • gcm_reports_tickets
  • gcm_reports_messages
  • gcm_reports_types
  • gcm_reports_teleports
  • gcm_reports_config
  • gcm_reports_groups
  • gcm_reports_staff

Critical mismatch

There is a real table naming mismatch between shipped SQL and runtime query code.

If you import database.sql unchanged, ticket/config/type/teleport queries can fail at runtime.

Pick one naming convention and align both sides:

  1. Rename SQL tables to match Database.lua (gcm_reports_* pattern), or
  2. Update Database.lua queries to match your existing SQL table names.

Persisted domains

  • Tickets, statuses, assignee tracking.
  • Ticket chat messages.
  • Report type and teleport point catalogs.
  • Dynamic config keys.
  • Staff groups, permissions, allowed items.
  • Staff accumulated stats and leaderboard data.