-- =====================================================================
--  MIGRACIÓN v2: Tómbola Virtual
--  * Sorteo GENERAL (sesión) → RONDAS (un premio por ronda) → GANADOR
--  * Galería de fotos + pantalla pública verfotos.php
--  * Aditiva y segura: NO borra sorteos ni ganadores existentes.
--  Requiere MariaDB 10.5+ (usa ADD COLUMN IF NOT EXISTS). Ejecutar UNA vez.
-- =====================================================================
SET NAMES utf8mb4;

-- ---------------------------------------------------------------------
-- 1) SORTEOS como "sesión general": el nombre del premio deja de ser
--    obligatorio a nivel de sesión (los premios viven en las rondas).
-- ---------------------------------------------------------------------
ALTER TABLE `sorteos` MODIFY `nombre_premio` VARCHAR(255) NULL DEFAULT NULL;

-- ---------------------------------------------------------------------
-- 2) RONDAS de sorteo (cada premio sorteado dentro de la sesión)
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `sorteo_rondas` (
  `id`           INT(11) NOT NULL AUTO_INCREMENT,
  `sorteo_id`    INT(11) NOT NULL,
  `nombre_premio` VARCHAR(255) NOT NULL,
  `estado`       ENUM('running','stopping','winner','cancelled','finished') NOT NULL DEFAULT 'running',
  `started_at`   DATETIME DEFAULT NULL,
  `stopped_at`   DATETIME DEFAULT NULL,
  `cancelled_at` DATETIME DEFAULT NULL,
  `created_by`   INT(11) DEFAULT NULL,
  `created_at`   TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at`   TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_sorteo` (`sorteo_id`),
  KEY `idx_estado` (`estado`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------------------------------------------------------------------
-- 3) Vincular ganadores a una ronda (los antiguos quedan con ronda NULL)
-- ---------------------------------------------------------------------
ALTER TABLE `sorteo_ganadores` ADD COLUMN IF NOT EXISTS `ronda_id` INT(11) DEFAULT NULL AFTER `sorteo_id`;
ALTER TABLE `sorteo_ganadores` ADD KEY IF NOT EXISTS `idx_ronda` (`ronda_id`);

-- ---------------------------------------------------------------------
-- 4) Estado de pantalla: ronda activa
-- ---------------------------------------------------------------------
ALTER TABLE `estado_pantalla` ADD COLUMN IF NOT EXISTS `ronda_activa_id` INT(11) DEFAULT NULL AFTER `sorteo_activo_id`;

-- ---------------------------------------------------------------------
-- 5) GALERÍA DE FOTOS
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `galeria_fotos` (
  `id`              INT(11) NOT NULL AUTO_INCREMENT,
  `archivo`         VARCHAR(255) NOT NULL,           -- uploads/galeria/xxx.jpg
  `miniatura`       VARCHAR(255) DEFAULT NULL,       -- uploads/galeria/thumbs/xxx.jpg
  `nombre_original` VARCHAR(255) DEFAULT NULL,
  `ancho`           INT(11) DEFAULT NULL,
  `alto`            INT(11) DEFAULT NULL,
  `orden`           INT(11) NOT NULL DEFAULT 0,
  `activo`          TINYINT(1) NOT NULL DEFAULT 1,
  `uploaded_by`     INT(11) DEFAULT NULL,
  `created_at`      TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_activo_orden` (`activo`,`orden`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ---------------------------------------------------------------------
-- 6) Configuración de la galería (y token de versión para tiempo real)
-- ---------------------------------------------------------------------
INSERT INTO `configuracion` (`clave`,`valor`,`tipo`) VALUES
('galeria_logo',              '',            'image'),
('galeria_mensaje_espera',    'Esperando fotografías', 'text'),
('galeria_tiempo_foto',       '6',           'number'),
('galeria_duracion_transicion','1000',       'number'),
('galeria_transicion',        'fade',        'text'),
('galeria_ajuste',            'contain',     'text'),
('galeria_fondo',             'desenfoque',  'text'),
('galeria_orden',             'secuencial',  'text'),
('galeria_bucle',             '1',           'bool'),
('galeria_mostrar_logo',      '1',           'bool'),
('galeria_mostrar_contador',  '0',           'bool'),
('galeria_mostrar_fecha',     '0',           'bool'),
('galeria_intervalo_check',   '5000',        'number'),
('galeria_version',           '1',           'number')
ON DUPLICATE KEY UPDATE `clave`=`clave`;

-- =====================================================================
--  FIN MIGRACIÓN v2
-- =====================================================================
