diff --git a/scripts/catalogrule.sql b/scripts/catalogrule.sql index 3645e3a..e397a36 100644 --- a/scripts/catalogrule.sql +++ b/scripts/catalogrule.sql @@ -62,5 +62,7 @@ ALTER TABLE `catalogrule_website` -- ---------------- -- Drop sequence -- -- ---------------- +ALTER TABLE `magento_banner_catalogrule` + DROP FOREIGN KEY `MAGENTO_BANNER_CATRULE_RULE_ID_SEQUENCE_CATRULE_SEQUENCE_VAL`; DROP TABLE `sequence_catalogrule`; diff --git a/scripts/category.sql b/scripts/category.sql index cb5949c..dba7846 100644 --- a/scripts/category.sql +++ b/scripts/category.sql @@ -17,14 +17,14 @@ ALTER TABLE `catalog_category_entity_varchar` -- Clean duplicates for catalog category entity DELETE e -FROM `catalog_category_entity` e +FROM `catalog_product_entity` e LEFT OUTER JOIN ( - SELECT MAX(`updated_in`) as `last_updated_in`, `entity_id` - FROM `catalog_category_entity` + SELECT MAX(`updated_at`) as `last_updated_at`, `entity_id` + FROM `catalog_product_entity` GROUP BY `entity_id` ) AS p - ON e.`entity_id` = p.`entity_id` AND e.`updated_in` = p.`last_updated_in` -WHERE p.`last_updated_in` IS NULL; + ON e.`entity_id` = p.`entity_id` AND e.`updated_at` = p.`last_updated_at` +WHERE p.`last_updated_at` IS NULL; -- Populate `entity_id` column for catalog category entity @@ -131,4 +131,11 @@ ALTER TABLE `catalog_url_rewrite_product_category` DROP FOREIGN KEY `CAT_URL_REWRITE_PRD_CTGR_CTGR_ID_SEQUENCE_CAT_CTGR_SEQUENCE_VAL`, ADD CONSTRAINT `CAT_URL_REWRITE_PRD_CTGR_CTGR_ID_CAT_CTGR_ENTT_ENTT_ID` FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE RESTRICT; +ALTER TABLE `magento_catalogevent_event` + DROP FOREIGN KEY `MAGENTO_CATEVENT_EVENT_CTGR_ID_SEQUENCE_CAT_CTGR_SEQUENCE_VAL`; +ALTER TABLE `magento_catalogpermissions` + DROP FOREIGN KEY `MAGENTO_CATPERMISSIONS_CTGR_ID_SEQUENCE_CAT_CTGR_SEQUENCE_VAL`; +ALTER TABLE `visual_merchandiser_rule` + DROP FOREIGN KEY `VISUAL_MERCHANDISER_RULE_CTGR_ID_SEQUENCE_CAT_CTGR_SEQUENCE_VAL`; + DROP TABLE `sequence_catalog_category`; diff --git a/scripts/cms.sql b/scripts/cms.sql index e5308eb..34fe215 100644 --- a/scripts/cms.sql +++ b/scripts/cms.sql @@ -1,3 +1,5 @@ +update cms_page set creation_time = update_time WHERE `creation_time` LIKE '%0000%'; + -- Enable `block_id` for block store ALTER TABLE `cms_block_store` ADD COLUMN `block_id` SMALLINT(6) NOT NULL COMMENT 'Entity ID'; diff --git a/scripts/ee.sql b/scripts/ee.sql index 7367e7f..538354c 100644 --- a/scripts/ee.sql +++ b/scripts/ee.sql @@ -7,6 +7,15 @@ -- ------------------------------------------------------ -- SET FOREIGN_KEY_CHECKS = 0; + +-- Clean up RMA & Gift Registry table +ALTER TABLE `magento_rma_item_entity` + DROP FOREIGN KEY `MAGENTO_RMA_ITEM_ENTITY_RMA_ENTITY_ID_MAGENTO_RMA_ENTITY_ID`; +ALTER TABLE `magento_giftregistry_entity` + DROP FOREIGN KEY `FK_AC6F6DB40013C09CA44DFBC3453C4954`; +ALTER TABLE `magento_giftregistry_item` + DROP FOREIGN KEY `FK_BAC522E38736441C84A365FDA8A89F3D`; + DROP TABLE IF EXISTS `magento_acknowledged_bulk`, `magento_banner`, diff --git a/scripts/product.sql b/scripts/product.sql index b8910b0..d803bf1 100644 --- a/scripts/product.sql +++ b/scripts/product.sql @@ -269,7 +269,7 @@ ALTER TABLE `catalog_product_bundle_option` DROP PRIMARY KEY, DROP COLUMN `parent_id`, CHANGE COLUMN `new_parent_id` `parent_id` INT(10) UNSIGNED NOT NULL COMMENT 'Parent ID', - ADD CONSTRAINT `CATALOG_PRODUCT_BUNDLE_OPTION_PARENT_ID` UNIQUE KEY (`parent_id`), + ADD INDEX `CATALOG_PRODUCT_BUNDLE_OPTION_PARENT_ID` (`parent_id`), MODIFY COLUMN `option_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Option ID', ADD PRIMARY KEY (`option_id`); @@ -287,8 +287,8 @@ ALTER TABLE `catalog_product_bundle_selection` ADD CONSTRAINT `CAT_PRD_BNDL_SELECTION_OPT_ID_CAT_PRD_BNDL_OPT_OPT_ID` FOREIGN KEY (`option_id`) REFERENCES `catalog_product_bundle_option` (`option_id`) ON DELETE CASCADE ON UPDATE RESTRICT; ALTER TABLE `catalog_product_bundle_selection_price` - DROP INDEX `CATALOG_PRODUCT_BUNDLE_SELECTION_PRICE_WEBSITE_ID`, - ADD CONSTRAINT `CATALOG_PRODUCT_BUNDLE_SELECTION_PRICE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON DELETE CASCADE ON UPDATE RESTRICT, +-- DROP INDEX `CATALOG_PRODUCT_BUNDLE_SELECTION_PRICE_WEBSITE_ID`, -- we do not need to remove this index +-- ADD CONSTRAINT `CATALOG_PRODUCT_BUNDLE_SELECTION_PRICE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `store_website` (`website_id`) ON DELETE CASCADE ON UPDATE RESTRICT, ADD CONSTRAINT `FK_DCF37523AA05D770A70AA4ED7C2616E4` FOREIGN KEY (`selection_id`) REFERENCES `catalog_product_bundle_selection` (`selection_id`) ON DELETE CASCADE ON UPDATE RESTRICT; -- ------------------------------------------------------------------ @@ -353,17 +353,19 @@ ALTER TABLE `catalog_product_entity_varchar` ALTER TABLE `catalog_product_entity_media_gallery_value_to_entity` DROP FOREIGN KEY `CAT_PRD_ENTT_MDA_GLR_VAL_TO_ENTT_ROW_ID_CAT_PRD_ENTT_ROW_ID`, DROP INDEX `CAT_PRD_ENTT_MDA_GLR_VAL_TO_ENTT_ROW_ID_CAT_PRD_ENTT_ROW_ID`, - ADD CONSTRAINT `CAT_PRD_ENTT_MDA_GLR_VAL_TO_ENTT_VAL_ID_ENTT_ID` UNIQUE KEY (`value_id`,`entity_id`), - DROP PRIMARY KEY, ADD PRIMARY KEY (`value_id`), - DROP COLUMN `row_id`; + DROP PRIMARY KEY, + DROP COLUMN `row_id`, + ADD PRIMARY KEY (`value_id`, `entity_id`), + ADD CONSTRAINT `CAT_PRD_ENTT_MDA_GLR_VAL_TO_ENTT_VAL_ID_ENTT_ID` UNIQUE KEY (`value_id`,`entity_id`); + -- Gallery value ALTER TABLE `catalog_product_entity_media_gallery_value` DROP FOREIGN KEY `CAT_PRD_ENTT_MDA_GLR_VAL_ROW_ID_CAT_PRD_ENTT_ROW_ID`, DROP INDEX `CATALOG_PRODUCT_ENTITY_MEDIA_GALLERY_VALUE_ROW_ID`, - DROP INDEX `CAT_PRD_ENTT_MDA_GLR_VAL_ROW_ID_VAL_ID_STORE_ID`, + DROP INDEX `CAT_PRD_ENTT_MDA_GLR_VAL_ROW_ID_VAL_ID_STORE_ID`, ADD INDEX `CATALOG_PRODUCT_ENTITY_MEDIA_GALLERY_VALUE_ENTITY_ID` (`entity_id`), - ADD CONSTRAINT `CAT_PRD_ENTT_MDA_GLR_VAL_ENTT_ID_VAL_ID_STORE_ID` UNIQUE KEY (`entity_id`,`value_id`,`store_id`), + ADD INDEX `CAT_PRD_ENTT_MDA_GLR_VAL_ENTT_ID_VAL_ID_STORE_ID` (`entity_id`,`value_id`,`store_id`), DROP COLUMN `row_id`; -- Gallery @@ -382,7 +384,8 @@ ALTER TABLE `catalog_product_entity_tier_price` ADD CONSTRAINT `UNQ_E8AB433B9ACB00343ABB312AD2FAB087` UNIQUE KEY (`entity_id`,`all_groups`,`customer_group_id`,`qty`,`website_id`), DROP COLUMN `row_id`; --- Entity +-- Entity For some reason, FOREIGN KEY `CAT_PRD_SPR_ATTR_PRD_ID_CAT_PRD_ENTT_ROW_ID was not removed. We need to run it again. + -- ALTER TABLE `catalog_product_super_attribute` DROP FOREIGN KEY `CAT_PRD_SPR_ATTR_PRD_ID_CAT_PRD_ENTT_ROW_ID`; SET FOREIGN_KEY_CHECKS = 0; ALTER TABLE `catalog_product_entity` DROP INDEX `CATALOG_PRODUCT_ENTITY_ENTITY_ID_CREATED_IN_UPDATED_IN`, @@ -463,11 +466,13 @@ ALTER TABLE `catalog_product_website` ALTER TABLE `catalog_url_rewrite_product_category` DROP FOREIGN KEY `CAT_URL_REWRITE_PRD_CTGR_PRD_ID_SEQUENCE_PRD_SEQUENCE_VAL`, +-- DROP FOREIGN KEY `FK_BB79E64705D7F17FE181F23144528FC8`, -- maybe we have to remove this key instead of the previous one ADD CONSTRAINT `CAT_URL_REWRITE_PRD_CTGR_PRD_ID_CAT_PRD_ENTT_ENTT_ID` FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE RESTRICT; DELETE FROM `cataloginventory_stock_item` WHERE `product_id` NOT IN (SELECT `entity_id` FROM `catalog_product_entity`); ALTER TABLE `cataloginventory_stock_item` DROP FOREIGN KEY `CATINV_STOCK_ITEM_PRD_ID_SEQUENCE_PRD_SEQUENCE_VAL`, +-- DROP FOREIGN KEY `CATINV_STOCK_ITEM_STOCK_ID_CATINV_STOCK_STOCK_ID`, -- maybe we have to remove this key instead of the previous one ADD CONSTRAINT `CATINV_STOCK_ITEM_PRD_ID_CAT_PRD_ENTT_ENTT_ID` FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE RESTRICT; ALTER TABLE `product_alert_price` @@ -506,4 +511,14 @@ ALTER TABLE `wishlist_item` DROP FOREIGN KEY `WISHLIST_ITEM_PRODUCT_ID_SEQUENCE_PRODUCT_SEQUENCE_VALUE`, ADD CONSTRAINT `WISHLIST_ITEM_PRODUCT_ID_CATALOG_PRODUCT_ENTITY_ENTITY_ID` FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE RESTRICT; +-- DROP FOREIGN KEY on the sequence table +ALTER TABLE `magento_targetrule_product` + DROP FOREIGN KEY `MAGENTO_TARGETRULE_PRD_PRD_ID_SEQUENCE_PRD_SEQUENCE_VAL`; + +ALTER TABLE `email_catalog` + DROP FOREIGN KEY `EMAIL_CATALOG_PRODUCT_ID_SEQUENCE_PRODUCT_SEQUENCE_VALUE`; + +ALTER TABLE `magento_giftregistry_item` + DROP FOREIGN KEY `MAGENTO_GIFTREGISTRY_ITEM_PRD_ID_SEQUENCE_PRD_SEQUENCE_VAL`; + DROP TABLE `sequence_product_bundle_selection`,`sequence_product_bundle_option`,`sequence_product`; diff --git a/scripts/salesrule.sql b/scripts/salesrule.sql index 39053cd..0c07439 100644 --- a/scripts/salesrule.sql +++ b/scripts/salesrule.sql @@ -67,6 +67,25 @@ ALTER TABLE `salesrule_product_attribute` DROP COLUMN `row_id`; -- Salesrule + + +ALTER TABLE `amasty_ampromo_rule` + DROP FOREIGN KEY `AMASTY_AMPROMO_RULE_SALESRULE_ID_SALESRULE_ROW_ID`; +ALTER TABLE `amasty_amrules_rule` + DROP FOREIGN KEY `AMASTY_AMRULES_RULE_SALESRULE_ID_SALESRULE_ROW_ID`; +ALTER TABLE `amasty_amrules_usage_limit` + DROP FOREIGN KEY `AMASTY_AMRULES_USAGE_LIMIT_SALESRULE_ID_SALESRULE_ROW_ID`; +ALTER TABLE `salesrule_label` + DROP FOREIGN KEY `SALESRULE_LABEL_ROW_ID_SALESRULE_ROW_ID`; +ALTER TABLE `amasty_free_gift_timer_timer_data` + DROP FOREIGN KEY `AMASTY_FREE_GIFT_TIMER_TIMER_DATA_SALESRULE_ID_SALESRULE_ROW_ID`; +ALTER TABLE `amasty_amrules_usage_counter` + DROP FOREIGN KEY `AMASTY_AMRULES_USAGE_COUNTER_SALESRULE_ID_SALESRULE_RULE_ID`; +ALTER TABLE `amasty_banners_lite_banner_data` + DROP FOREIGN KEY `AMASTY_BANNERS_LITE_BANNER_DATA_SALESRULE_ID_SALESRULE_ROW_ID`; +ALTER TABLE `amasty_banners_lite_rule` + DROP FOREIGN KEY `AMASTY_BANNERS_LITE_RULE_SALESRULE_ID_SALESRULE_ROW_ID`; + ALTER TABLE `salesrule` DROP FOREIGN KEY `SALESRULE_RULE_ID_SEQUENCE_SALESRULE_SEQUENCE_VALUE`, DROP COLUMN `row_id`, @@ -86,6 +105,9 @@ ALTER TABLE `salesrule_product_attribute` -- ---------------- -- Drop sequence -- -- ---------------- +-- We need to clean up the salesrule_coupon table before dropping the sequence_salesrule table +DELETE FROM salesrule_coupon + WHERE rule_id NOT IN (SELECT rule_id FROM salesrule); ALTER TABLE `salesrule_coupon` DROP FOREIGN KEY `SALESRULE_COUPON_RULE_ID_SEQUENCE_SALESRULE_SEQUENCE_VALUE`, @@ -93,8 +115,14 @@ ALTER TABLE `salesrule_coupon` ALTER TABLE `salesrule_customer` DROP FOREIGN KEY `SALESRULE_CUSTOMER_RULE_ID_SEQUENCE_SALESRULE_SEQUENCE_VALUE`, ADD CONSTRAINT `SALESRULE_CUSTOMER_RULE_ID_SALESRULE_RULE_ID` FOREIGN KEY (`rule_id`) REFERENCES `salesrule` (`rule_id`); + +ALTER TABLE `salesrule_label` + CHANGE `row_id` `rule_id` INT(10) UNSIGNED NOT NULL COMMENT 'Rule ID'; + +DELETE FROM salesrule_label + WHERE rule_id NOT IN (SELECT rule_id FROM salesrule); + ALTER TABLE `salesrule_label` - DROP FOREIGN KEY `SALESRULE_LABEL_RULE_ID_SEQUENCE_SALESRULE_SEQUENCE_VALUE`, ADD CONSTRAINT `SALESRULE_LABEL_RULE_ID_SALESRULE_RULE_ID` FOREIGN KEY (`rule_id`) REFERENCES `salesrule` (`rule_id`); DROP TABLE `sequence_salesrule`;