-- ==================================================================================
-- MIGRACIÓN 027: AGREGAR 4 MESAS DINÁMICAS AL SISTEMA DE TIENDA EXISTENTE
-- ==================================================================================
-- Esta migración agrega las 4 nuevas mesas al catálogo de tienda en articulos_tienda
-- Se integra perfecto con tienda-carrusel.js que ya tiene soporte para 'mesa'
-- ==================================================================================

-- Asegurar que el tipo 'mesa' existe en articulos_tienda (si no está ya)
-- Esta línea es idempotente (si ya existe, no hace nada)
ALTER TABLE articulos_tienda
  MODIFY COLUMN tipo ENUM('ficha_skin','avatar','marco','mesa') NOT NULL;

-- Agregar columna mesa_actual_id a usuarios si no existe
ALTER TABLE usuarios 
  ADD COLUMN mesa_actual_id INT UNSIGNED DEFAULT 1;

-- Agregar índice para performance
ALTER TABLE usuarios 
  ADD INDEX idx_mesa_actual (mesa_actual_id);

-- ==================================================================================
-- INSERTAR LAS 4 MESAS NUEVAS (respetando el sistema existente)
-- ==================================================================================

INSERT IGNORE INTO articulos_tienda (tipo, codigo, nombre, descripcion, precio_monedas, disponible, orden)
VALUES
  -- Mesa 1: Azul Marina (Gratis - inicial)
  ('mesa', 'mesa_azul',      'Azul Marina',      'Mesa profesional de casino - Azul marino clásico',          0,   1, 1),
  
  -- Mesa 2: Púrpura (Premium - 15000 monedas = ~150◆)
  ('mesa', 'mesa_purpura',   'Púrpura Oscura',   'Mesa elegante y sofisticada - Púrpura profundo',        15000, 1, 2),
  
  -- Mesa 3: Gris (Premium - 15000 monedas = ~150◆)
  ('mesa', 'mesa_gris',      'Gris Minimalista',  'Diseño moderno y limpio - Gris oscuro neutralo',        15000, 1, 3),
  
  -- Mesa 4: Rojo (Premium - 15000 monedas = ~150◆)
  ('mesa', 'mesa_rojo',      'Rojo Clásico',     'Mesa de casino tradicional - Rojo oscuro/Burgundy',      15000, 1, 4);

-- ==================================================================================
-- Asegurar que los usuarios nuevos tienen mesa_azul como mesa inicial
-- ==================================================================================
-- Nota: En la práctica esto se haría en el PHP de registro, pero agregamos aquí
-- por si es necesario. tienda-carrusel.js y el sistema de tienda ya soportan mesas.

-- ==================================================================================
-- Agregar columna mesa_equipada a usuarios si no existe
-- ==================================================================================
ALTER TABLE usuarios 
  ADD COLUMN mesa_equipada VARCHAR(40) DEFAULT 'mesa_azul' AFTER marco_equipado;

-- ==================================================================================
-- ÍNDICES Y VISTAS (opcional pero útil)
-- ==================================================================================

CREATE INDEX IF NOT EXISTS idx_tipo_articulo 
ON articulos_tienda(tipo);

-- Vista: Obtener mesas disponibles
CREATE OR REPLACE VIEW v_mesas_tienda AS
SELECT 
  id,
  codigo,
  nombre,
  descripcion,
  precio_monedas,
  orden
FROM articulos_tienda
WHERE tipo = 'mesa' AND disponible = 1
ORDER BY orden ASC;

-- ==================================================================================
-- END MIGRACIÓN 027
-- ==================================================================================
