tuan
4/22/2016 - 4:54 AM

Raw mysql redirect

Raw mysql redirect

DESCRIBE `enterprise_url_rewrite_redirect`;
INSERT INTO `enterprise_url_rewrite_redirect` (`identifier`, `target_path`, `options`, `description`, `category_id`, `store_id`) VALUES ('browse/by-packaging.html', 'browse/package', NULL, NULL, '28', '3');
INSERT IGNORE INTO `enterprise_url_rewrite_redirect_cl` (`redirect_id`) VALUES (NEW.`redirect_id`);
SELECT `enterprise_mview_metadata`.* FROM `enterprise_mview_metadata` WHERE (`enterprise_mview_metadata`.`table_name`='enterprise_url_rewrite_redirect');

START TRANSACTION;
DELETE `ur`  FROM `enterprise_url_rewrite` AS `ur`
  INNER JOIN `enterprise_url_rewrite_redirect_rewrite` AS `r` ON r.url_rewrite_id = ur.url_rewrite_id WHERE (ur.is_system = 0) AND (ur.entity_type = 1) AND (r.redirect_id = 12);

INSERT INTO `enterprise_url_rewrite` (`request_path`, `target_path`, `guid`, `is_system`, `identifier`, `value_id`, `store_id`, `entity_type`) SELECT CONCAT(r.identifier, CASE  WHEN ur.inc IS NULL OR `m`.`value` = 1 THEN '' ELSE CONCAT('-', ur.inc) END) AS `request_path`, `r`.`target_path`, '992291c9f05a13eb56ee178f018cf852' AS `guid`, 0 AS `is_system`, CONCAT(r.identifier, CASE  WHEN ur.inc IS NULL OR `m`.`value` = 1 THEN '' ELSE CONCAT('-', ur.inc) END) AS `identifier`, `r`.`redirect_id` AS `value_id`, `r`.`store_id`, 1 AS `entity_type` FROM `enterprise_url_rewrite_redirect` AS `r`
  LEFT JOIN `enterprise_url_rewrite` AS `ur` ON ur.identifier = r.identifier AND ur.store_id = r.store_id AND ur.entity_type = 1
  LEFT JOIN `enterprise_index_multiplier` AS `m` ON ur.identifier IS NOT NULL WHERE (r.redirect_id = 12) ON DUPLICATE KEY UPDATE enterprise_url_rewrite.inc = enterprise_url_rewrite.inc + 1;

INSERT INTO `enterprise_url_rewrite_redirect_rewrite` (`redirect_id`, `url_rewrite_id`) SELECT `r`.`redirect_id`, `ur`.`url_rewrite_id` FROM `enterprise_url_rewrite` AS `ur`
  INNER JOIN `enterprise_url_rewrite_redirect` AS `r` ON r.redirect_id = ur.value_id WHERE (guid = '992291c9f05a13eb56ee178f018cf852') AND (r.redirect_id = 12) ON DUPLICATE KEY UPDATE `url_rewrite_id` = VALUES(`url_rewrite_id`);

COMMIT ;