Files
PrestaShop/install-dev/sql/upgrade/1.5.0.2.sql
tDidierjean dac7c7795c // Fix bug with specific prices creation
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11358 b9a71923-0436-4b27-9f14-aed3839534dd
2011-12-19 13:53:56 +00:00

299 lines
14 KiB
SQL

SET NAMES 'utf8';
INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ('1', '108', '1', '1', '1', '1');
INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ('2', '108', '1', '1', '1', '1');
INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ('3', '108', '1', '1', '1', '1');
INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ('4', '108', '0', '0', '0', '0');
INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ('5', '108', '0', '0', '0', '0');
CREATE TABLE IF NOT EXISTS `PREFIX_specific_price_rule` (
`id_specific_price_rule` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`id_shop` int(11) unsigned NOT NULL DEFAULT '1',
`id_currency` int(10) unsigned NOT NULL,
`id_country` int(10) unsigned NOT NULL,
`id_group` int(10) unsigned NOT NULL,
`from_quantity` mediumint(8) unsigned NOT NULL,
`price` DECIMAL(20,6),
`reduction` decimal(20,6) NOT NULL,
`reduction_type` enum('amount','percentage') NOT NULL,
`from` datetime NOT NULL,
`to` datetime NOT NULL,
PRIMARY KEY (`id_specific_price_rule`),
KEY `id_product` (`id_shop`,`id_currency`,`id_country`,`id_group`,`from_quantity`,`from`,`to`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_specific_price_rule_condition_group` (
`id_specific_price_rule_condition_group` INT(11) UNSIGNED NOT NULL,
`id_specific_price_rule` INT(11) UNSIGNED NOT NULL,
PRIMARY KEY ( `id_specific_price_rule_condition_group`, `id_specific_price_rule` )
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_specific_price_rule_condition` (
`id_specific_price_rule_condition` INT(11) UNSIGNED NOT NULL,
`id_specific_price_rule_condition_group` INT(11) UNSIGNED NOT NULL,
`type` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id_specific_price_rule_condition`),
INDEX (`id_specific_price_rule_condition_group`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
ALTER TABLE `PREFIX_specific_price` ADD `id_specific_price_rule` INT(11) UNSIGNED NOT NULL AFTER `id_specific_price`, ADD INDEX (`id_specific_price_rule`);
/* PHP:add_new_tab(AdminSpecificPriceRule, es:Catalog price rules|it:Catalog price rules|en:Catalog price rules|de:Catalog price rules|fr:Règles de prix catalogue, 1); */;
ALTER TABLE `PREFIX_orders` DROP COLUMN `id_warehouse`;
ALTER TABLE `PREFIX_order_detail` ADD COLUMN `id_warehouse` int(10) unsigned DEFAULT 0 AFTER `id_order_invoice`;
ALTER TABLE `PREFIX_suplier` ADD COLUMN `id_address` int(10) unsigned NOT NULL AFTER `id_supplier`;
ALTER TABLE `PREFIX_address` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL DEFAULT 0 AFTER `id_supplier`;
ALTER TABLE `PREFIX_order_invoice` ADD `note` TEXT NOT NULL AFTER `total_wrapping_tax_incl`;
/* ORDER STATES */
ALTER TABLE `PREFIX_order_state` ADD `paid` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `shipped`;
UPDATE `PREFIX_order_state` SET `paid` = 1 WHERE `id_order_state` IN (2, 3, 4, 5, 9, 12);
/************************
* STOCK MANAGEMENT
*************************/
/* PHP:add_stock_tab(); */;
/* New tables */
CREATE TABLE IF NOT EXISTS `PREFIX_product_supplier` (
`id_product_supplier` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_product` int(11) unsigned NOT NULL,
`id_product_attribute` int(11) unsigned NOT NULL DEFAULT '0',
`id_supplier` int(11) unsigned NOT NULL,
`product_supplier_reference` varchar(32) DEFAULT NULL,
`product_supplier_price_te` decimal(20,6) NOT NULL DEFAULT '0.000000',
`id_currency` int(11) unsigned NOT NULL,
PRIMARY KEY (`id_product_supplier`),
UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_supplier`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_stock_available` (
`id_stock_available` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_product` int(11) unsigned NOT NULL,
`id_product_attribute` int(11) unsigned NOT NULL,
`id_shop` int(11) unsigned NOT NULL,
`id_group_shop` int(11) unsigned NOT NULL,
`quantity` int(10) NOT NULL DEFAULT '0',
`depends_on_stock` tinyint(1) unsigned NOT NULL DEFAULT '0',
`out_of_stock` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id_stock_available`),
KEY `id_shop` (`id_shop`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_product` (`id_product`),
KEY `id_product_attribute` (`id_product_attribute`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order` (
`id_supply_order` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_supplier` int(11) unsigned NOT NULL,
`supplier_name` varchar(64) NOT NULL,
`id_lang` int(11) unsigned NOT NULL,
`id_warehouse` int(11) unsigned NOT NULL,
`id_supply_order_state` int(11) unsigned NOT NULL,
`id_currency` int(11) unsigned NOT NULL,
`id_ref_currency` int(11) unsigned NOT NULL,
`reference` varchar(32) NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
`date_delivery_expected` datetime DEFAULT NULL,
`total_te` decimal(20,6) DEFAULT '0.000000',
`total_with_discount_te` decimal(20,6) DEFAULT '0.000000',
`total_tax` decimal(20,6) DEFAULT '0.000000',
`total_ti` decimal(20,6) DEFAULT '0.000000',
`discount_rate` decimal(20,6) DEFAULT '0.000000',
`discount_value_te` decimal(20,6) DEFAULT '0.000000',
`is_template` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id_supply_order`),
KEY `id_supplier` (`id_supplier`),
KEY `id_warehouse` (`id_warehouse`),
KEY `reference` (`reference`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_detail` (
`id_supply_order_detail` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_supply_order` int(11) unsigned NOT NULL,
`id_currency` int(11) unsigned NOT NULL,
`id_product` int(11) unsigned NOT NULL,
`id_product_attribute` int(11) unsigned NOT NULL,
`reference` varchar(32) NOT NULL,
`supplier_reference` varchar(32) NOT NULL,
`name` varchar(128) NOT NULL,
`ean13` varchar(13) DEFAULT NULL,
`upc` varchar(12) DEFAULT NULL,
`exchange_rate` decimal(20,6) DEFAULT '0.000000',
`unit_price_te` decimal(20,6) DEFAULT '0.000000',
`quantity_expected` int(11) unsigned NOT NULL,
`quantity_received` int(11) unsigned NOT NULL,
`price_te` decimal(20,6) DEFAULT '0.000000',
`discount_rate` decimal(20,6) DEFAULT '0.000000',
`discount_value_te` decimal(20,6) DEFAULT '0.000000',
`price_with_discount_te` decimal(20,6) DEFAULT '0.000000',
`tax_rate` decimal(20,6) DEFAULT '0.000000',
`tax_value` decimal(20,6) DEFAULT '0.000000',
`price_ti` decimal(20,6) DEFAULT '0.000000',
`tax_value_with_order_discount` decimal(20,6) DEFAULT '0.000000',
`price_with_order_discount_te` decimal(20,6) DEFAULT '0.000000',
PRIMARY KEY (`id_supply_order_detail`),
KEY `id_supply_order` (`id_supply_order`),
KEY `id_product` (`id_product`),
KEY `id_product_attribute` (`id_product_attribute`),
KEY `id_product_product_attribute` (`id_product`,`id_product_attribute`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_history` (
`id_supply_order_history` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_supply_order` int(11) unsigned NOT NULL,
`id_employee` int(11) unsigned NOT NULL,
`employee_lastname` varchar(32) DEFAULT '',
`employee_firstname` varchar(32) DEFAULT '',
`id_state` int(11) unsigned NOT NULL,
`date_add` datetime NOT NULL,
PRIMARY KEY (`id_supply_order_history`),
KEY `id_supply_order` (`id_supply_order`),
KEY `id_employee` (`id_employee`),
KEY `id_state` (`id_state`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_receipt_history` (
`id_supply_order_receipt_history` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_supply_order_detail` int(11) unsigned NOT NULL,
`id_employee` int(11) unsigned NOT NULL,
`employee_lastname` varchar(32) DEFAULT '',
`employee_firstname` varchar(32) DEFAULT '',
`id_supply_order_state` int(11) unsigned NOT NULL,
`quantity` int(11) unsigned NOT NULL,
`date_add` datetime NOT NULL,
PRIMARY KEY (`id_supply_order_receipt_history`),
KEY `id_supply_order_detail` (`id_supply_order_detail`),
KEY `id_supply_order_state` (`id_supply_order_state`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_state` (
`id_supply_order_state` int(11) unsigned NOT NULL AUTO_INCREMENT,
`delivery_note` tinyint(1) NOT NULL DEFAULT '0',
`editable` tinyint(1) NOT NULL DEFAULT '0',
`receipt_state` tinyint(1) NOT NULL DEFAULT '0',
`pending_receipt` tinyint(1) NOT NULL DEFAULT '0',
`enclosed` tinyint(1) NOT NULL DEFAULT '0',
`color` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id_supply_order_state`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_state_lang` (
`id_supply_order_state` int(11) unsigned NOT NULL,
`id_lang` int(11) unsigned NOT NULL,
`name` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id_supply_order_state`,`id_lang`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse` (
`id_warehouse` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_currency` int(11) unsigned NOT NULL,
`id_address` int(11) unsigned NOT NULL,
`id_employee` int(11) unsigned NOT NULL,
`reference` varchar(32) DEFAULT NULL,
`name` varchar(45) NOT NULL,
`management_type` enum('WA','FIFO','LIFO') NOT NULL DEFAULT 'WA',
`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id_warehouse`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_carrier` (
`id_carrier` int(11) unsigned NOT NULL,
`id_warehouse` int(11) unsigned NOT NULL,
PRIMARY KEY (`id_warehouse`,`id_carrier`),
KEY `id_warehouse` (`id_warehouse`),
KEY `id_carrier` (`id_carrier`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_product_location` (
`id_warehouse_product_location` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_product` int(11) unsigned NOT NULL,
`id_product_attribute` int(11) unsigned NOT NULL,
`id_warehouse` int(11) unsigned NOT NULL,
`location` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id_warehouse_product_location`),
UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_warehouse`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_shop` (
`id_shop` int(11) unsigned NOT NULL,
`id_warehouse` int(11) unsigned NOT NULL,
PRIMARY KEY (`id_warehouse`,`id_shop`),
KEY `id_warehouse` (`id_warehouse`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
/* Update records before alter tables */
/* PHP:set_stock_available(); */;
/* PHP:set_product_suppliers(); */;
/* Update tables */
DROP TABLE IF EXISTS `PREFIX_stock`;
CREATE TABLE IF NOT EXISTS `PREFIX_stock` (
`id_stock` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`id_warehouse` INT(11) UNSIGNED NOT NULL,
`id_product` INT(11) UNSIGNED NOT NULL,
`id_product_attribute` INT(11) UNSIGNED NOT NULL,
`reference` VARCHAR(32) NOT NULL,
`ean13` VARCHAR(13) DEFAULT NULL,
`upc` VARCHAR(12) DEFAULT NULL,
`physical_quantity` INT(11) UNSIGNED NOT NULL,
`usable_quantity` INT(11) UNSIGNED NOT NULL,
`price_te` DECIMAL(20,6) DEFAULT '0.000000',
PRIMARY KEY (`id_stock`),
KEY `id_warehouse` (`id_warehouse`),
KEY `id_product` (`id_product`),
KEY `id_product_attribute` (`id_product_attribute`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `PREFIX_stock_mvt`;
CREATE TABLE IF NOT EXISTS `PREFIX_stock_mvt` (
`id_stock_mvt` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`id_stock` INT(11) UNSIGNED NOT NULL,
`id_order` INT(11) UNSIGNED DEFAULT NULL,
`id_supply_order` INT(11) UNSIGNED DEFAULT NULL,
`id_stock_mvt_reason` INT(11) UNSIGNED NOT NULL,
`id_employee` INT(11) UNSIGNED NOT NULL,
`employee_lastname` varchar(32) DEFAULT '',
`employee_firstname` varchar(32) DEFAULT '',
`physical_quantity` INT(11) UNSIGNED NOT NULL,
`date_add` DATETIME NOT NULL,
`sign` tinyint(1) NOT NULL DEFAULT 1,
`price_te` DECIMAL(20,6) DEFAULT '0.000000',
`last_wa` DECIMAL(20,6) DEFAULT '0.000000',
`current_wa` DECIMAL(20,6) DEFAULT '0.000000',
`referer` bigint UNSIGNED DEFAULT NULL,
PRIMARY KEY (`id_stock_mvt`),
KEY `id_stock` (`id_stock`),
KEY `id_stock_mvt_reason` (`id_stock_mvt_reason`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
ALTER TABLE `PREFIX_stock_mvt_reason` ADD COLUMN `deleted` tinyint(1) unsigned NOT NULL default '0' AFTER `date_upd`;
ALTER TABLE `PREFIX_supplier` ADD COLUMN `id_address` int(10) unsigned NOT NULL default '0' AFTER `id_supplier`;
ALTER TABLE `PREFIX_address` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL default '0' AFTER `id_supplier`;
ALTER TABLE `PREFIX_order_detail` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL default '0' AFTER `id_order_invoice`;
ALTER TABLE `PREFIX_product` ADD COLUMN `advanced_stock_management` tinyint(1) default '0' NOT NULL;
/* Update records after alter tables */
/* PHP:update_stock_mvt_reasons(); */;
DELETE FROM `PREFIX_configuration` WHERE `name` = 'PS_PDF_ENCODING';
DELETE FROM `PREFIX_configuration` WHERE `name` = 'PS_PDF_FONT';
ALTER TABLE `PREFIX_order_detail`
ADD `reduction_amount_tax_incl` FLOAT( 20.6 ) NOT NULL AFTER `reduction_amount` ,
ADD `reduction_amount_tax_excl` FLOAT( 20.6 ) NOT NULL AFTER `reduction_amount_tax_incl`;
ALTER TABLE `PREFIX_order_cart_rule` ADD `value_tax_excl` DECIMAL(17, 2) NOT NULL DEFAULT '0.00';
ALTER TABLE `PREFIX_order_cart_rule` ADD `id_order_invoice` INT NOT NULL DEFAULT '0' AFTER `id_cart_rule`;
ALTER TABLE `PREFIX_specific_price` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL AFTER `id_shop`;