-- 2.8.5.0
-- Añadimos un índice colección para los artículo
ALTER TABLE `articulo` ADD INDEX( `nombre_coleccion`);
-- Vamos a crear un descuento genérico para TODOS los productos de la web y el código de cliente en arminet
ALTER TABLE `configuracion` ADD `descuentoGlobal` DECIMAL(3,2) NOT NULL COMMENT 'Descuento Aplicado de manera general a todos los artículos que no tengan y asignado precio y/o descuento por otra vía' AFTER `envio_recogida_tienda`, ADD `cliente_arminet` INT NOT NULL COMMENT 'Código de cliente en @rminet' AFTER `descuentoGlobal`;
-- Añadimos el índice de ventas recientes para el orden de productos
ALTER TABLE `articulo` ADD `ventas_recientes` INT NOT NULL DEFAULT '0' COMMENT 'Ventas del producto recientes' AFTER `pendiente_indexar`;
-- Una pequeña purga
DROP TABLE `traducnoticia`, `traductipono`;
-- Vamos a añadir a la tabla de contadores el código de la traducción
INSERT INTO `contador` (`nombre`, `contador`) 
VALUES 
( 'traduccion', ( SELECT `codigo` FROM `traduccion` ORDER BY `codigo` DESC LIMIT 1 ) );
-- Creamos un trigger en la tabla de la traducción porque no tiene primary key
DELIMITER $$ 
	CREATE TRIGGER `crear_traduccion` BEFORE INSERT ON `traduccion` FOR EACH ROW 
		BEGIN 
			IF NEW.`codigo` = 0 THEN 
				INSERT INTO `contador` (`nombre`, `contador`) VALUES ('traduccion', '1') ON DUPLICATE KEY UPDATE `contador` = `contador` + 1; 
				SET NEW.codigo = (SELECT `contador`.`contador` FROM `contador` WHERE `contador`.`nombre` = 'traduccion' LIMIT 1); 
			END IF;
		END$$
DELIMITER ;

-- Hay que actualizar los índices de los pedidos de clientes:
-- Primero limpiamos la tabla para quitar los duplicados:
DELETE `a` FROM `mc_pedcli` `a`, `mc_pedcli` `b` WHERE 
 ( (`a`.`codigo` = `b`.`codigo`) AND `a`.`cod_sinlib` = 0 AND `b`.`cod_sinlib` > 0);
 DELETE `a` FROM `ml_pedcli` `a`, `ml_pedcli` `b` WHERE 
 ( (`a`.`codigo` = `b`.`codigo`) AND `a`.`codigo_sinlib` = 0 AND `b`.`codigo_sinlib` > 0);
-- Quitamos el autoincrement de las tablas:
ALTER TABLE `mc_pedcli` CHANGE `codigo` `codigo` INT(20) UNSIGNED NOT NULL;
ALTER TABLE `ml_pedcli` CHANGE `codigo` `codigo` INT(10) UNSIGNED NOT NULL;
-- Quitamos las claves primarias que no nos sirven
ALTER TABLE `mc_pedcli` DROP PRIMARY KEY, ADD PRIMARY KEY (`codigo`) USING BTREE;
ALTER TABLE `ml_pedcli` DROP PRIMARY KEY, ADD PRIMARY KEY (`mc_pedcli`, `codigo`) USING BTREE;
-- Y vamos a crear los índices correctos:
ALTER TABLE `mc_pedcli` ADD INDEX( `cod_sinlib`);
ALTER TABLE `mc_pedcli` ADD INDEX( `cliente`);
ALTER TABLE `mc_pedcli` ADD INDEX( `cliente_sinlib`);
ALTER TABLE `ml_pedcli` ADD INDEX( `mc_pedcli_sinlib`);
ALTER TABLE `ml_pedcli` ADD INDEX( `codigo_sinlib`);
ALTER TABLE `ml_pedcli` ADD INDEX( `articulo`);
ALTER TABLE `ml_pedcli` ADD INDEX( `mc_pedcli_sinlib`, `codigo_sinlib`);

-- 2.8.5.10
-- Vamos a cambiar la tabla de traducciones:
ALTER TABLE `traduccion` CHANGE `frase` `frase` VARCHAR(512) CHARACTER SET latin1 COLLATE latin1_spanish_ci NULL DEFAULT NULL;
ALTER TABLE `traduccion` DROP INDEX `frase`;
ALTER TABLE `traduccion` ADD INDEX(`frase`);
-- Nos aseguramos de que el código del idioma sea SIEMPRE en mayúsculas
DELIMITER $$ 
	CREATE TRIGGER `antes_insertar_idioma_codigo_mayuscula` BEFORE INSERT ON `idioma` FOR EACH ROW 
	BEGIN 
		SET NEW.`codigo` = UPPER(NEW.`codigo`);
	END$$
	CREATE TRIGGER `antes_modificar_idioma_codigo_mayuscula` BEFORE UPDATE ON `idioma` FOR EACH ROW 
	BEGIN 
		SET NEW.`codigo` = UPPER(NEW.`codigo`);
	END$$
DELIMITER ;

-- Vamos a limpiar los idiomas de los banners
UPDATE `banner` SET `idioma`= '' WHERE 1;

-- 2.8.5.11
-- Quitqamos de la tabla "configuracion" campos viejos que no son necesarios en esta versión de webStore
ALTER TABLE `configuracion`
  DROP `color_de_fondo`,
  DROP `opacidad_fondo`,
  DROP `logo_email`;

-- Pasamos el newsletter a webStore
ALTER TABLE `newsletter` DROP `codigo`;
ALTER TABLE `newsletter` ADD PRIMARY KEY( `email`);
-- Arreglamos el guión bajo de la tabla de categorías productos y la pasamos a INNODB (no se pq no está así)
RENAME TABLE `categorias-productos` TO `categorias_productos`;
ALTER TABLE `categorias_productos` ENGINE = INNODB;
