Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tuanphpvn/39affcbcc946222b78cec96033bb84c6 to your computer and use it in GitHub Desktop.
Save tuanphpvn/39affcbcc946222b78cec96033bb84c6 to your computer and use it in GitHub Desktop.
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 ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment