// Retro compatibility and updater improved for Discount/CartRules
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9798 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -640,59 +640,6 @@ CREATE TABLE `PREFIX_delivery` (
|
||||
KEY `id_range_weight` (`id_range_weight`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount` (
|
||||
`id_discount` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_discount_type` int(10) unsigned NOT NULL,
|
||||
`behavior_not_exhausted` TINYINT(3) DEFAULT '1',
|
||||
`id_customer` int(10) unsigned NOT NULL,
|
||||
`id_group` int(10) unsigned NOT NULL default 0,
|
||||
`id_currency` int unsigned NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL,
|
||||
`value` decimal(17,2) NOT NULL default '0.00',
|
||||
`quantity` int(10) unsigned NOT NULL default '0',
|
||||
`quantity_per_user` int(10) unsigned NOT NULL default '1',
|
||||
`cumulable` tinyint(1) unsigned NOT NULL default '0',
|
||||
`cumulable_reduction` tinyint(1) unsigned NOT NULL default '0',
|
||||
`date_from` datetime NOT NULL,
|
||||
`date_to` datetime NOT NULL,
|
||||
`minimal` decimal(17,2) default NULL,
|
||||
`include_tax` tinyint(1) NOT NULL default '0',
|
||||
`active` tinyint(1) unsigned NOT NULL default '0',
|
||||
`cart_display` tinyint(1) unsigned NOT NULL default '0',
|
||||
`date_add` datetime NOT NULL,
|
||||
`date_upd` datetime NOT NULL,
|
||||
PRIMARY KEY (`id_discount`),
|
||||
KEY `discount_name` (`name`),
|
||||
KEY `discount_customer` (`id_customer`),
|
||||
KEY `id_discount_type` (`id_discount_type`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount_category` (
|
||||
`id_category` int(11) unsigned NOT NULL,
|
||||
`id_discount` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_category`, `id_discount`),
|
||||
KEY `discount` (`id_discount`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount_lang` (
|
||||
`id_discount` int(10) unsigned NOT NULL,
|
||||
`id_lang` int(10) unsigned NOT NULL,
|
||||
`description` text,
|
||||
PRIMARY KEY (`id_discount`,`id_lang`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount_type` (
|
||||
`id_discount_type` int(10) unsigned NOT NULL auto_increment,
|
||||
PRIMARY KEY (`id_discount_type`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount_type_lang` (
|
||||
`id_discount_type` int(10) unsigned NOT NULL,
|
||||
`id_lang` int(10) unsigned NOT NULL,
|
||||
`name` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`id_discount_type`,`id_lang`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_employee` (
|
||||
`id_employee` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_profile` int(10) unsigned NOT NULL,
|
||||
@@ -1997,13 +1944,6 @@ PRIMARY KEY (`id_scene`, `id_shop`),
|
||||
KEY `id_shop` (`id_shop`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_discount_shop` (
|
||||
`id_discount` INT( 11 ) UNSIGNED NOT NULL ,
|
||||
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`id_discount`, `id_shop`),
|
||||
KEY `id_shop` (`id_shop`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_group_module_restriction` (
|
||||
`id_group` INT(11) UNSIGNED NOT NULL ,
|
||||
`id_module` INT(11) UNSIGNED NOT NULL ,
|
||||
|
||||
@@ -256,13 +256,6 @@ CREATE TABLE `PREFIX_cart_rule` (
|
||||
PRIMARY KEY (`id_cart_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_lang` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_lang` int(10) unsigned NOT NULL,
|
||||
`name` varchar(254) NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_lang`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_country` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_country` int(10) unsigned NOT NULL,
|
||||
@@ -295,12 +288,80 @@ CREATE TABLE `PREFIX_cart_rule_product_rule` (
|
||||
PRIMARY KEY (`id_product_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_product_rule_value` (
|
||||
`id_product_rule` int(10) unsigned NOT NULL,
|
||||
`id_item` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_product_rule`, `id_item`)
|
||||
SET @id_currency_default = (SELECT value FROM `PREFIX_configuration` WHERE name = 'PS_CURRENCY_DEFAULT' LIMIT 1);
|
||||
INSERT INTO `PREFIX_cart_rule` (
|
||||
`id_cart_rule`,
|
||||
`id_customer`,
|
||||
`date_from`,
|
||||
`date_to`,
|
||||
`description`,
|
||||
`quantity`,
|
||||
`quantity_per_user`,
|
||||
`priority`,
|
||||
`code`,
|
||||
`minimum_amount`,
|
||||
`minimum_amount_tax`,
|
||||
`minimum_amount_currency`,
|
||||
`minimum_amount_shipping`,
|
||||
`country_restriction`,
|
||||
`carrier_restriction`,
|
||||
`group_restriction`,
|
||||
`cart_rule_restriction`,
|
||||
`product_restriction`,
|
||||
`free_shipping`,
|
||||
`reduction_percent`,
|
||||
`reduction_amount`,
|
||||
`reduction_tax`,
|
||||
`reduction_currency`,
|
||||
`reduction_product`,
|
||||
`gift_product`,
|
||||
`active`,
|
||||
`date_add`,
|
||||
`date_upd`
|
||||
) (
|
||||
SELECT
|
||||
`id_discount`,
|
||||
`id_customer`,
|
||||
`date_from`,
|
||||
`date_to`,
|
||||
`name`,
|
||||
`quantity`,
|
||||
`quantity_per_user`,
|
||||
1,
|
||||
`name`,
|
||||
`minimal`,
|
||||
1,
|
||||
@id_currency_default,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
IF(id_group = 0, 0, 1),
|
||||
IF(cumulable = 1, 0, 1),
|
||||
0,
|
||||
IF(id_discount_type = 3, 1, 0),
|
||||
IF(id_discount_type = 1, value, 0),
|
||||
IF(id_discount_type = 2, value, 0),
|
||||
1,
|
||||
`id_currency`,
|
||||
0,
|
||||
0,
|
||||
`active`,
|
||||
`date_add`,
|
||||
`date_upd`
|
||||
FROM `PREFIX_discount`
|
||||
);
|
||||
|
||||
RENAME TABLE `PREFIX_discount_lang` TO `PREFIX_cart_rule_lang`;
|
||||
ALTER TABLE `PREFIX_discount_lang` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_discount_lang` CHANGE `description` `name` varchar(254) NOT NULL;
|
||||
RENAME TABLE `PREFIX_discount_category` TO `PREFIX_cart_rule_product_rule_value`;
|
||||
ALTER TABLE `PREFIX_cart_rule_product_rule_value` CHANGE `id_category` `id_item` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_cart_rule_product_rule_value` CHANGE `id_discount` `id_product_rule` int(10) unsigned NOT NULL;
|
||||
INSERT INTO `PREFIX_cart_rule_product_rule` (`id_product_rule`, `id_cart_rule`, `quantity`, `type`) (
|
||||
SELECT DISTINCT `id_product_rule`, `id_product_rule`, 1, 'categories' FROM `PREFIX_cart_rule_product_rule_value`
|
||||
);
|
||||
UPDATE `PREFIX_cart_rule` SET product_restriction = 1 WHERE `id_cart_rule` IN (SELECT `id_cart_rule` FROM `PREFIX_cart_rule_product_rule`);
|
||||
|
||||
ALTER TABLE `PREFIX_cart_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_order_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_order_discount` CHANGE `id_order_discount` `id_order_cart_rule` int(10) unsigned NOT NULL;
|
||||
|
||||
Reference in New Issue
Block a user