-- DDL mínimo para Tickets-Etiquetas v2 (misma BDD que usa el perfil canonical / PDO, ej. reservameqa_to).
-- Ejecutar en phpMyAdmin o cliente MySaQL sobre la base correcta si falta alguna tabla.

CREATE TABLE IF NOT EXISTS DEMO_TO_tickets_etiquetas (
  id INT AUTO_INCREMENT PRIMARY KEY,
  estado TINYINT NOT NULL DEFAULT 1,
  timecreado DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  autor VARCHAR(100) NOT NULL,
  nombre VARCHAR(120) NOT NULL,
  tipo VARCHAR(60) NOT NULL,
  icono VARCHAR(80) NULL,
  color VARCHAR(20) NULL,
  descripcion VARCHAR(255) NULL,
  prioridad INT NOT NULL DEFAULT 100,
  UNIQUE KEY uq_demo_to_tickets_etiquetas_tipo_nombre (tipo, nombre),
  KEY idx_demo_to_tickets_etiquetas_estado (estado),
  KEY idx_demo_to_tickets_etiquetas_tipo (tipo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS DEMO_TO_tickets_catalogo (
  id INT AUTO_INCREMENT PRIMARY KEY,
  estado TINYINT NOT NULL DEFAULT 1,
  timecreado DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  autor VARCHAR(100) NOT NULL DEFAULT 'sistema',
  legacy_ticket_id INT NULL COMMENT 'idTicket en tabla tickets legacy si aplica',
  cliente_id INT NULL,
  titulo VARCHAR(255) NOT NULL,
  descripcion TEXT NULL,
  tipo VARCHAR(120) NULL,
  prioridad VARCHAR(32) NULL DEFAULT 'MEDIA',
  fecha_ticket DATETIME NULL,
  fecha_vencimiento DATETIME NULL,
  extra_json JSON NULL,
  KEY idx_demo_to_tickets_catalogo_legacy (legacy_ticket_id),
  KEY idx_demo_to_tickets_catalogo_cliente (cliente_id),
  KEY idx_demo_to_tickets_catalogo_estado (estado)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS DEMO_TO_tickets_etiquetas_rel (
  id INT AUTO_INCREMENT PRIMARY KEY,
  estado TINYINT NOT NULL DEFAULT 1,
  timecreado DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  autor VARCHAR(100) NOT NULL,
  ticket_id INT NOT NULL COMMENT 'id en DEMO_TO_tickets_catalogo',
  etiqueta_id INT NOT NULL COMMENT 'id en DEMO_TO_tickets_etiquetas',
  origen VARCHAR(40) NOT NULL DEFAULT 'manual',
  KEY idx_demo_to_rel_ticket (ticket_id),
  KEY idx_demo_to_rel_etiqueta (etiqueta_id),
  KEY idx_demo_to_rel_estado (estado)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS DEMO_TO_tickets_eventos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  estado TINYINT NOT NULL DEFAULT 1,
  timecreado DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  autor VARCHAR(100) NOT NULL,
  ticket_id INT NOT NULL,
  evento VARCHAR(80) NOT NULL,
  detalle_json JSON NULL,
  KEY idx_demo_to_eventos_ticket (ticket_id),
  KEY idx_demo_to_eventos_evento (evento)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
