Jump to content

Upg from 1.3 to 1.7


Recommended Posts

You have two options:

- the long run, upgrade in stages, 1.3->1.4->1.5->1.6->1.7  this will preserve the DB but you will loose the theme and the third party modules which you have to buy, install and customize again;

- the maybe short run, install the 1.7 and using a third party module try to import the data from the old shop.

Link to comment
Share on other sites

Hi there, hope you are well and thank you for the reply and help.

 

I can only manage to get up to version 1.4.0.17 and then when running the upgrade installer for 1.5.0.2 I get an error of 5 mysql query errors. I have a copy of this but it's extremely long code.

SET NAMES 'utf8'

INSERT INTO `ps_hook` (`name`, `title`, `description`, `position`, `live_edit`) VALUES ('afterSaveAdminMeta', 'After save configuration in AdminMeta', 'After save configuration in AdminMeta', 0, 0)

ALTER TABLE `ps_webservice_account` ADD `is_module` TINYINT( 2 ) NOT NULL DEFAULT '0' AFTER `class_name` , ADD `module_name` VARCHAR( 50 ) NULL DEFAULT NULL AFTER `is_module`

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_IMG_UPDATE_TIME', UNIX_TIMESTAMP(), NOW(), NOW())

UPDATE `ps_cms_lang` set link_rewrite = "uber-uns" where link_rewrite like "%ber-uns"

ALTER TABLE `ps_connections` CHANGE `ip_address` `ip_address` BIGINT NULL DEFAULT NULL

UPDATE `ps_meta_lang` SET `title` = 'Angebote', `keywords` = 'besonders, Angebote', `url_rewrite` = 'angebote' WHERE url_rewrite = 'preise-fallen'

ALTER TABLE `ps_country` ADD `display_tax_label` BOOLEAN NOT NULL DEFAULT '1'

DROP TABLE IF EXISTS `ps_country_tax`

ALTER TABLE `ps_order_detail` CHANGE `product_quantity_in_stock` `product_quantity_in_stock` INT(10) NOT NULL DEFAULT '0'

CREATE TABLE `ps_address_format` ( `id_country` int(10) unsigned NOT NULL, `format` varchar(255) NOT NULL DEFAULT '', KEY `country` (`id_country`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_address_format` (`id_country`, `format`) (SELECT `id_country` as id_country, 'firstname lastname\ncompany\nvat_number\naddress1\naddress2\npostcode city\ncountry\nphone' as format FROM ps_country)

UPDATE `ps_address_format` set `format`='firstname lastname company address1 address2 city State:name postcode country phone' where `id_country`=21

/* PHP:alter_cms_block(); */

/* PHP:add_module_to_hook(blockcategories, afterSaveAdminMeta); */

SET NAMES 'utf8'

ALTER TABLE `ps_tab_lang` MODIFY `id_lang` int(10) unsigned NOT NULL AFTER `id_tab`

ALTER TABLE `ps_carrier` ADD `is_free` tinyint(1) unsigned NOT NULL DEFAULT '0' AFTER `is_module`

UPDATE `ps_address_format` SET `format`=REPLACE(REPLACE(`format`, 'state_iso', 'State:name'), 'country', 'Country:name')

ALTER TABLE `ps_orders` ADD INDEX `date_add`(`date_add`)

/* PHP:update_module_followup(); */

INSERT IGNORE INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_STOCK_MVT_REASON_DEFAULT', 3, NOW(), NOW())

/* PHP:add_order_state(PS_OS_WS_PAYMENT, en:Payment remotely accepted|fr:Paiement à distance accepté, 1, 0, #DDEEFF, 1, 1, 0); */

/* PHP:alter_blocklink(); */

/* PHP:update_module_loyalty(); */

/* PHP:remove_module_from_hook(blockcategories, afterCreateHtaccess); */

/* PHP:updatetabicon_from_11version(); */

SET NAMES 'utf8'

DELETE FROM `ps_configuration_lang` WHERE 1 AND `value` is NULL AND `date_upd` is NULL

SET NAMES 'utf8'

UPDATE `ps_country` SET `display_tax_label` = '1' WHERE `id_country` = 21

/* PHP:check_webservice_account_table(); */

UPDATE `ps_cart` ca SET `secure_key` = IFNULL((SELECT `secure_key` from `ps_customer` `cu` WHERE `cu`.`id_customer` = `ca`.`id_customer`), -1) WHERE `ca`.`secure_key` = -1

SET NAMES 'utf8'

UPDATE `ps_address_format` SET `format`=REPLACE(`format`, 'state', 'State:name')

SET @defaultOOS = (SELECT value FROM `ps_configuration` WHERE name = 'PS_ORDER_OUT_OF_STOCK')

/* Set 0 for every non-attribute product */ UPDATE `ps_product` p SET `cache_default_attribute` = 0 WHERE `id_product` NOT IN (SELECT `id_product` FROM `ps_product_attribute`)

/* First default attribute in stock */ UPDATE `ps_product` p SET `cache_default_attribute` = (SELECT `id_product_attribute` FROM `ps_product_attribute` WHERE `id_product` = p.`id_product` AND default_on = 1 AND quantity > 0 LIMIT 1) WHERE `cache_default_attribute` IS NULL

/* Then default attribute without stock if we don't care */ UPDATE `ps_product` p SET `cache_default_attribute` = (SELECT `id_product_attribute` FROM `ps_product_attribute` WHERE `id_product` = p.`id_product` AND default_on = 1 LIMIT 1) WHERE `cache_default_attribute` IS NULL AND `out_of_stock` = 1 OR `out_of_stock` = IF(@defaultOOS = 1, 2, 1)

/* Next, the default attribute can be any attribute with stock */ UPDATE `ps_product` p SET `cache_default_attribute` = (SELECT `id_product_attribute` FROM `ps_product_attribute` WHERE `id_product` = p.`id_product` AND quantity > 0 LIMIT 1) WHERE `cache_default_attribute` IS NULL

/* If there is still no default attribute, then we go back to the default one */ UPDATE `ps_product` p SET `cache_default_attribute` = (SELECT `id_product_attribute` FROM `ps_product_attribute` WHERE `id_product` = p.`id_product` AND default_on = 1 LIMIT 1) WHERE `cache_default_attribute` IS NULL

UPDATE `ps_order_state_lang` SET `name` = 'Zahlung eingegangen' WHERE `ps_order_state_lang`.`id_order_state` =2 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Bestellung eingegangen' WHERE `ps_order_state_lang`.`id_order_state` =3 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Versendet' WHERE `ps_order_state_lang`.`id_order_state` =4 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Erfolgreich abgeschlossen' WHERE `ps_order_state_lang`.`id_order_state` =5 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Storniert' WHERE `ps_order_state_lang`.`id_order_state` =6 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Fehler bei der Bezahlung' WHERE `ps_order_state_lang`.`id_order_state` =8 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Artikel erwartet' WHERE `ps_order_state_lang`.`id_order_state` =9 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Warten auf Zahlungseingang' WHERE `ps_order_state_lang`.`id_order_state` =10 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'Warten auf Zahlungseingang von PayPal' WHERE `ps_order_state_lang`.`id_order_state` =11 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_order_state_lang` SET `name` = 'PayPal Anmeldung erfolgreich' WHERE `ps_order_state_lang`.`id_order_state` =12 AND `ps_order_state_lang`.`id_lang` = (SELECT id_lang FROM `ps_lang` WHERE `iso_code` = 'de')

UPDATE `ps_meta_lang` SET `url_rewrite` = 'identita' WHERE `url_rewrite` = 'Identità'

/* PHP:add_missing_rewrite_value(); */

SET NAMES 'utf8'

INSERT IGNORE INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_BACKUP_DROP_TABLE', 1, NOW(), NOW())

UPDATE `ps_tab_lang` SET `name` = 'SEO & URLs' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` WHERE `class_name` = 'AdminMeta' LIMIT 1) AND `id_lang` IN (SELECT `id_lang` FROM `ps_lang` WHERE `iso_code` IN ('en','fr','es','de','it'))

/* These 3 lines (remove_duplicate, drop index, add unique) MUST stay together in this order */ /* PHP:remove_duplicate_category_groups(); */

ALTER TABLE `ps_category_group` DROP INDEX `category_group_index`

ALTER TABLE `ps_category_group` ADD UNIQUE `category_group_index` (`id_category`,`id_group`)

SET NAMES 'utf8'

/* Fix wrong category level_depth caused by bug in 1.4.0.13 upgrade script */ /* PHP:regenerate_level_depth(); */

SET NAMES 'utf8'

UPDATE `ps_address_format` SET `format`='firstname lastname company address1 address2 city State:name postcode Country:name' WHERE `id_country` = (SELECT `id_country` FROM `ps_country` WHERE `iso_code`='GB')

UPDATE `ps_country` SET `contains_states` = 1 WHERE `id_country` = 145

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_LEGACY_IMAGES', '1', NOW(), NOW())

SET NAMES 'utf8'

ALTER TABLE `ps_image` MODIFY COLUMN `position` SMALLINT(2) UNSIGNED NOT NULL DEFAULT 0

INSERT IGNORE INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_OS_CHEQUE', '1', NOW(), NOW()), ('PS_OS_PAYMENT', '2', NOW(), NOW()), ('PS_OS_PREPARATION', '3', NOW(), NOW()), ('PS_OS_SHIPPING', '4', NOW(), NOW()), ('PS_OS_DELIVERED', '5', NOW(), NOW()), ('PS_OS_CANCELED', '6', NOW(), NOW()), ('PS_OS_REFUND', '7', NOW(), NOW()), ('PS_OS_ERROR', '8', NOW(), NOW()), ('PS_OS_OUTOFSTOCK', '9', NOW(), NOW()), ('PS_OS_BANKWIRE', '10', NOW(), NOW()), ('PS_OS_PAYPAL', '11', NOW(), NOW()), ('PS_OS_WS_PAYMENT', '12', NOW(), NOW()), ('PS_IMAGE_QUALITY', 'jpg', NOW(), NOW()), ('PS_PNG_QUALITY', '7', NOW(), NOW()), ('PS_JPEG_QUALITY', '90', NOW(), NOW()), ('PS_COOKIE_LIFETIME_FO', '480', NOW(), NOW()), ('PS_COOKIE_LIFETIME_BO', '480', NOW(), NOW())

ALTER TABLE `ps_lang` ADD `is_rtl` TINYINT(1) NOT NULL DEFAULT '0'

UPDATE `ps_country_lang` SET `name` = 'United States' WHERE `name` = 'USA' AND `id_lang` = ( SELECT `id_lang` FROM `ps_lang` WHERE `iso_code` = 'en' LIMIT 1 )

UPDATE `ps_hook` SET `live_edit` = 1 WHERE `name` = 'leftColumn' OR `name` = 'home' OR `name` = 'rightColumn' OR `name` = 'productfooter' OR `name` = 'payment'

ALTER TABLE `ps_stock_mvt_reason` MODIFY `sign` TINYINT(1) NOT NULL DEFAULT '1' AFTER `id_stock_mvt_reason`

UPDATE `ps_tab_lang` SET `name` = 'Geolocation' WHERE `name` = 'Geolocalization'

UPDATE `ps_tab_lang` SET `name` = 'Counties' WHERE `name` = 'County'

ALTER TABLE `ps_tax_rule` MODIFY `id_county` INT NOT NULL AFTER `id_country`

UPDATE `ps_address_format` set `format`='firstname lastname company address1 address2 city, State:name postcode Country:name phone' WHERE `id_country` = (SELECT `id_country` FROM `ps_country` WHERE `iso_code`='US')

ALTER TABLE `ps_attachment` CHANGE `mime` `mime` VARCHAR(128) NOT NULL

CREATE TABLE IF NOT EXISTS `ps_compare_product` ( `id_compare_product` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_product` int(10) unsigned NOT NULL, `id_guest` int(10) unsigned NOT NULL, `id_customer` int(10) unsigned NOT NULL, `date_add` datetime NOT NULL, `date_upd` datetime NOT NULL, PRIMARY KEY (`id_compare_product`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

DELETE FROM `ps_configuration` WHERE name = 'PS_LAYERED_NAVIGATION_CHECKBOXES' LIMIT 1

/* PHP:alter_productcomments_guest_index(); */

SET NAMES 'utf8'

SET NAMES 'utf8'

INSERT IGNORE INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_RESTRICT_DELIVERED_COUNTRIES', '0', NOW(), NOW())

UPDATE `ps_country_lang` SET `name` = 'United States' WHERE `name` = 'United State'

ALTER TABLE `ps_discount` ADD `include_tax` TINYINT(1) NOT NULL DEFAULT '0'

UPDATE `ps_order_detail` SET `product_price` = `product_price` /( 1-(`group_reduction`/100))

DELETE FROM `ps_configuration` WHERE name IN ('PS_LAYERED_BITLY_USERNAME', 'PS_LAYERED_BITLY_API_KEY', 'PS_LAYERED_SHARE') LIMIT 3

ALTER TABLE `ps_delivery` CHANGE `price` `price` DECIMAL(20, 6) NOT NULL

ALTER TABLE `ps_store` CHANGE `latitude` `latitude` DECIMAL(10, 8) NULL DEFAULT NULL

ALTER TABLE `ps_store` CHANGE `longitude` `longitude` DECIMAL(10, 8) NULL DEFAULT NULL

INSERT INTO `ps_hook` (`name`, `title`, `description`, `position`, `live_edit`) VALUES ('attributeGroupForm', 'Add fields to the form "attribute group"', 'Add fields to the form "attribute group"', 0, 0), ('afterSaveAttributeGroup', 'On saving attribute group', 'On saving attribute group', 0, 0), ('afterDeleteAttributeGroup', 'On deleting attribute group', 'On deleting "attribute group', 0, 0), ('featureForm', 'Add fields to the form "feature"', 'Add fields to the form "feature"', 0, 0), ('afterSaveFeature', 'On saving attribute feature', 'On saving attribute feature', 0, 0), ('afterDeleteFeature', 'On deleting attribute feature', 'On deleting attribute feature', 0, 0), ('afterSaveProduct', 'On saving products', 'On saving products', 0, 0), ('productListAssign', 'Assign product list to a category', 'Assign product list to a category', 0, 0), ('postProcessAttributeGroup', 'On post-process in admin attribute group', 'On post-process in admin attribute group', 0, 0), ('postProcessFeature', 'On post-process in admin feature', 'On post-process in admin feature', 0, 0), ('featureValueForm', 'Add fields to the form "feature value"', 'Add fields to the form "feature value"', 0, 0), ('postProcessFeatureValue', 'On post-process in admin feature value', 'On post-process in admin feature value', 0, 0), ('afterDeleteFeatureValue', 'On deleting attribute feature value', 'On deleting attribute feature value', 0, 0), ('afterSaveFeatureValue', 'On saving attribute feature value', 'On saving attribute feature value', 0, 0), ('attributeForm', 'Add fields to the form "feature value"', 'Add fields to the form "feature value"', 0, 0), ('postProcessAttribute', 'On post-process in admin feature value', 'On post-process in admin feature value', 0, 0), ('afterDeleteAttribute', 'On deleting attribute feature value', 'On deleting attribute feature value', 0, 0), ('afterSaveAttribute', 'On saving attribute feature value', 'On saving attribute feature value', 0, 0)

ALTER TABLE `ps_employee` ADD `bo_show_screencast` TINYINT(1) NOT NULL DEFAULT '1' AFTER `bo_theme`

UPDATE `ps_country` SET id_zone = (SELECT id_zone FROM `ps_zone` WHERE name = 'Oceania' LIMIT 1) WHERE iso_code = 'KI' LIMIT 1

ALTER TABLE `ps_lang` ADD `date_format_lite` char(32) NOT NULL DEFAULT 'Y-m-d' AFTER language_code

ALTER TABLE `ps_lang` ADD `date_format_full` char(32) NOT NULL DEFAULT 'Y-m-d H:i:s' AFTER date_format_lite

UPDATE `ps_lang` SET `date_format_lite` = 'd/m/Y' WHERE `iso_code` IN ('fr', 'es', 'it')

UPDATE `ps_lang` SET `date_format_full` = 'd/m/Y H:i:s' WHERE `iso_code` IN ('fr', 'es', 'it')

UPDATE `ps_lang` SET `date_format_lite` = 'd.m.Y' WHERE `iso_code` = 'de'

UPDATE `ps_lang` SET `date_format_full` = 'd.m.Y H:i:s' WHERE `iso_code` = 'de'

UPDATE `ps_lang` SET `date_format_lite` = 'm/d/Y' WHERE `iso_code` = 'en'

UPDATE `ps_lang` SET `date_format_full` = 'm/d/Y H:i:s' WHERE `iso_code` = 'en'

ALTER IGNORE TABLE `ps_specific_price_priority` ADD UNIQUE ( `id_product` )

SET NAMES 'utf8'

SET NAMES 'utf8'

/* PHP:update_order_canada(); */

CREATE TABLE IF NOT EXISTS `ps_compare` ( `id_compare` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_customer` int(10) unsigned NOT NULL, PRIMARY KEY (`id_compare`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_compare_product` DROP `id_compare_product` , DROP `id_guest` , DROP `id_customer`

ALTER TABLE `ps_compare_product` ADD `id_compare` int(10) unsigned NOT NULL, ADD PRIMARY KEY( `id_compare`, `id_product`)

ALTER TABLE `ps_store` CHANGE `latitude` `latitude` DECIMAL(11, 8) NULL DEFAULT NULL

ALTER TABLE `ps_store` CHANGE `longitude` `longitude` DECIMAL(11, 8) NULL DEFAULT NULL

ALTER TABLE `ps_address_format` ADD PRIMARY KEY (`id_country`)

ALTER TABLE `ps_address_format` DROP INDEX `country`

/* PHP:hook_blocksearch_on_header(); */

SET NAMES 'utf8'

CREATE TABLE IF NOT EXISTS `ps_group_shop` ( `id_group_shop` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 NOT NULL, `share_customer` TINYINT(1) NOT NULL, `share_order` TINYINT(1) NOT NULL, `share_stock` TINYINT(1) NOT NULL, `active` tinyint(1) NOT NULL DEFAULT '1', `deleted` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_group_shop` (`id_group_shop`, `name`, `active`, `deleted`, `share_stock`, `share_customer`, `share_order`) VALUES (1, 'Default', 1, 0, 0, 0, 0)

CREATE TABLE IF NOT EXISTS `ps_shop` ( `id_shop` int(11) unsigned NOT NULL AUTO_INCREMENT, `id_group_shop` int(11) unsigned NOT NULL, `name` varchar(64) CHARACTER SET utf8 NOT NULL, `id_category` INT(11) UNSIGNED NOT NULL DEFAULT '1', `id_theme` INT(1) UNSIGNED NOT NULL, `active` tinyint(1) NOT NULL DEFAULT '1', `deleted` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id_shop`), KEY `id_group_shop` (`id_group_shop`), KEY `id_category` (`id_category`), KEY `id_theme` (`id_theme`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_shop` (`id_shop`, `id_group_shop`, `name`, `id_category`, `active`) VALUES (1, 1, 'Default', 1, 1)

ALTER TABLE `ps_configuration` ADD `id_group_shop` INT(11) UNSIGNED DEFAULT NULL AFTER `id_configuration` , ADD `id_shop` INT(11) UNSIGNED DEFAULT NULL AFTER `id_group_shop`

ALTER TABLE `ps_configuration` DROP INDEX `name` , ADD INDEX `name` ( `name` )

ALTER TABLE `ps_configuration` ADD INDEX (`id_group_shop`)

ALTER TABLE `ps_configuration` ADD INDEX (`id_shop`)

INSERT INTO `ps_configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, 'PS_SHOP_DEFAULT', '1', NOW(), NOW())

CREATE TABLE IF NOT EXISTS `ps_shop_url` ( `id_shop_url` int(11) unsigned NOT NULL AUTO_INCREMENT, `id_shop` int(11) unsigned NOT NULL, `domain` varchar(255) NOT NULL, `domain_ssl` varchar(255) NOT NULL, `physical_uri` varchar(64) NOT NULL, `virtual_uri` varchar(64) NOT NULL, `main` TINYINT(1) NOT NULL, `active` TINYINT(1) NOT NULL, PRIMARY KEY (`id_shop_url`), KEY `id_shop` (`id_shop`), UNIQUE KEY `shop_url` (`domain`, `virtual_uri`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_theme` ( `id_theme` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, PRIMARY KEY (`id_theme`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_theme` (`id_theme`, `name`) VALUES (1, 'prestashop')

CREATE TABLE IF NOT EXISTS `ps_theme_specific` ( `id_theme` int(11) unsigned NOT NULL, `id_shop` INT(11) UNSIGNED NOT NULL, `entity` int(11) unsigned NOT NULL, `id_object` int(11) unsigned NOT NULL, PRIMARY KEY (`id_theme`,`id_shop`, `entity`,`id_object`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `ps_stock` ( `id_stock` 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, `quantity` INT(11) NOT NULL, PRIMARY KEY (`id_stock`), KEY `id_product` (`id_product`), KEY `id_product_attribute` (`id_product_attribute`), KEY `id_shop` (`id_shop`), UNIQUE KEY `product_stock` (`id_product` ,`id_product_attribute` ,`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_stock` (id_product, id_product_attribute, id_shop, quantity) (SELECT id_product, id_product_attribute, 1, quantity FROM ps_product_attribute)

INSERT INTO `ps_stock` (id_product, id_product_attribute, id_shop, quantity) (SELECT id_product, 0, 1, IF( (SELECT COUNT(*) FROM ps_product_attribute pa WHERE p.id_product = pa.id_product) > 0, (SELECT SUM(pa2.quantity) FROM ps_product_attribute pa2 WHERE p.id_product = pa2.id_product), quantity ) FROM ps_product p)

ALTER TABLE ps_stock_mvt ADD id_stock INT UNSIGNED NOT NULL AFTER id_stock_mvt

UPDATE ps_stock_mvt sm SET sm.id_stock = (SELECT s.id_stock FROM ps_stock s WHERE s.id_product = sm.id_product AND s.id_product_attribute = sm.id_product_attribute ORDER BY s.id_shop LIMIT 1)

ALTER TABLE ps_stock_mvt DROP id_product, DROP id_product_attribute

CREATE TABLE `ps_country_shop` ( `id_country` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_country`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_country_shop` (id_shop, id_country) (SELECT 1, id_country FROM ps_country)

CREATE TABLE `ps_carrier_shop` ( `id_carrier` INT( 11 ) UNSIGNED NOT NULL , `id_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_carrier`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_carrier_shop` (id_shop, id_carrier) (SELECT 1, id_carrier FROM ps_carrier)

CREATE TABLE `ps_cms_shop` ( `id_cms` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_cms`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_cms_shop` (id_shop, id_cms) (SELECT 1, id_cms FROM ps_cms)

ALTER TABLE `ps_cms_block` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_cms_block`
(1146) Table 'db738831560.ps_cms_block' doesn't exist

CREATE TABLE `ps_lang_shop` ( `id_lang` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_lang`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_lang_shop` (id_shop, id_lang) (SELECT 1, id_lang FROM ps_lang)

CREATE TABLE `ps_currency_shop` ( `id_currency` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_currency`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_currency_shop` (id_shop, id_currency) (SELECT 1, id_currency FROM ps_currency)

ALTER TABLE `ps_cart` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_cart` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`)

ALTER TABLE `ps_customer` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_customer` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`)

ALTER TABLE `ps_orders` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_order` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`)

ALTER TABLE `ps_customer_thread` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_customer_thread`

ALTER TABLE `ps_customer_thread` ADD INDEX `id_shop` (`id_shop`), ADD INDEX `id_lang` (`id_lang`), ADD INDEX `id_contact` (`id_contact`), ADD INDEX `id_customer` (`id_customer`), ADD INDEX `id_order` (`id_order`),	ADD INDEX `id_product` (`id_product`)

ALTER TABLE `ps_customer_message` ADD INDEX `id_employee` (`id_employee`)

ALTER TABLE `ps_meta_lang` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_meta`

ALTER TABLE `ps_meta_lang` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_meta`, `id_shop`, `id_lang`), ADD INDEX `id_shop` (`id_shop`), ADD INDEX `id_lang` (`id_lang`)

CREATE TABLE `ps_contact_shop` ( `id_contact` INT(11) UNSIGNED NOT NULL, `id_shop` INT(11) UNSIGNED NOT NULL, PRIMARY KEY (`id_contact`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_contact_shop` (id_shop, id_contact) (SELECT 1, id_contact FROM `ps_contact`)

CREATE TABLE `ps_image_shop` ( `id_image` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_image`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_image_shop` (id_shop, id_image) (SELECT 1, id_image FROM ps_image)

CREATE TABLE `ps_attribute_group_shop` ( `id_attribute` INT(11) UNSIGNED NOT NULL, `id_group_shop` INT(11) UNSIGNED NOT NULL, PRIMARY KEY (`id_attribute`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_attribute_group_shop` (id_group_shop, id_attribute) (SELECT 1, id_attribute FROM ps_attribute)

CREATE TABLE `ps_feature_group_shop` ( `id_feature` INT(11) UNSIGNED NOT NULL, `id_group_shop` INT(11) UNSIGNED NOT NULL , PRIMARY KEY (`id_feature`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_feature_group_shop` (id_group_shop, id_feature) (SELECT 1, id_feature FROM ps_feature)

CREATE TABLE `ps_group_group_shop` ( `id_group` INT( 11 ) UNSIGNED NOT NULL, `id_group_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_group`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_group_group_shop` (id_group_shop, id_group) (SELECT 1, id_group FROM ps_group)

CREATE TABLE `ps_attribute_group_group_shop` ( `id_attribute_group` INT( 11 ) UNSIGNED NOT NULL , `id_group_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_attribute_group`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_attribute_group_group_shop` (id_group_shop, id_attribute_group) (SELECT 1, id_attribute_group FROM ps_attribute_group)

CREATE TABLE `ps_tax_rules_group_group_shop` ( `id_tax_rules_group` INT( 11 ) UNSIGNED NOT NULL, `id_group_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_tax_rules_group`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_tax_rules_group_group_shop` (`id_tax_rules_group`, `id_group_shop`) (SELECT `id_tax_rules_group`, 1 FROM `ps_tax_rules_group`)

CREATE TABLE `ps_zone_group_shop` ( `id_zone` INT( 11 ) UNSIGNED NOT NULL , `id_group_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_zone`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_zone_group_shop` (id_group_shop, id_zone) (SELECT 1, id_zone FROM ps_zone)

CREATE TABLE `ps_manufacturer_group_shop` ( `id_manufacturer` INT( 11 ) UNSIGNED NOT NULL , `id_group_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY (`id_manufacturer`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_manufacturer_group_shop` (id_group_shop, id_manufacturer) (SELECT 1, id_manufacturer FROM ps_manufacturer)

CREATE TABLE `ps_supplier_group_shop` ( `id_supplier` INT( 11 ) UNSIGNED NOT NULL, `id_group_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_supplier`, `id_group_shop`), KEY `id_group_shop` (`id_group_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_supplier_group_shop` (id_group_shop, id_supplier) (SELECT 1, id_supplier FROM ps_supplier)

CREATE TABLE `ps_store_shop` ( `id_store` INT( 11 ) UNSIGNED NOT NULL , `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_store`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_store_shop` (id_shop, id_store) (SELECT 1, id_store FROM ps_store)

CREATE TABLE `ps_product_shop` ( `id_product` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY ( `id_shop` , `id_product` ), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_product_shop` (id_shop, id_product) (SELECT 1, id_product FROM ps_product)

ALTER TABLE `ps_category_lang` ADD `id_shop` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_category`

ALTER TABLE `ps_category_lang` ADD UNIQUE KEY( `id_category`, `id_shop`, `id_lang`)

ALTER TABLE `ps_product_lang` ADD `id_shop` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_product`

ALTER TABLE `ps_product_lang` ADD UNIQUE KEY ( `id_product`, `id_shop` , `id_lang`)

ALTER TABLE `ps_specific_price` CHANGE `id_shop` `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1'

ALTER TABLE `ps_hook_module` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_hook`

ALTER TABLE `ps_hook_module` DROP PRIMARY KEY

ALTER TABLE `ps_hook_module` ADD PRIMARY KEY (`id_module`,`id_hook`,`id_shop` )

ALTER TABLE `ps_hook_module_exceptions` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_hook`

ALTER TABLE `ps_connections` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1', ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1'

ALTER TABLE `ps_page_viewed` ADD `id_group_shop` INT UNSIGNED NOT NULL DEFAULT '1' AFTER `id_page`, ADD `id_shop` INT UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`

ALTER TABLE `ps_page_viewed` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_page`, `id_date_range`, `id_shop`)

CREATE TABLE `ps_module_shop` ( `id_module` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_module` , `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_module_shop` (`id_module`, `id_shop`) (SELECT `id_module`, 1 FROM `ps_module`)

ALTER TABLE `ps_module_currency` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_module`

ALTER TABLE `ps_module_currency` DROP PRIMARY KEY

ALTER TABLE `ps_module_currency` ADD PRIMARY KEY (`id_module`, `id_shop`, `id_currency`)

ALTER TABLE `ps_module_country` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_module`

ALTER TABLE `ps_module_country` DROP PRIMARY KEY

ALTER TABLE `ps_module_country` ADD PRIMARY KEY (`id_module`, `id_shop`, `id_country`)

ALTER TABLE `ps_module_group` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_module`

ALTER TABLE `ps_module_group` DROP PRIMARY KEY

ALTER TABLE `ps_module_group` ADD PRIMARY KEY (`id_module`, `id_shop`, `id_group`)

ALTER TABLE `ps_carrier_lang` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_carrier`

ALTER TABLE `ps_carrier_lang` ADD UNIQUE `shipper_lang_index` (`id_carrier`, `id_shop`, `id_lang`)
(1061) Duplicate key name 'shipper_lang_index'

ALTER TABLE `ps_search_word` ADD `id_shop` INT(11) NOT NULL DEFAULT '1' AFTER `id_word`

ALTER TABLE `ps_search_word` DROP INDEX `id_lang`, ADD UNIQUE `id_lang` (`id_lang`,`id_shop`,`word`)

CREATE TABLE `ps_referrer_shop` ( `id_referrer` int(10) unsigned NOT NULL auto_increment, `id_shop` int(10) unsigned NOT NULL default '1', `cache_visitors` int(11) default NULL, `cache_visits` int(11) default NULL, `cache_pages` int(11) default NULL, `cache_registrations` int(11) default NULL, `cache_orders` int(11) default NULL, `cache_sales` decimal(17,2) default NULL, `cache_reg_rate` decimal(5,4) default NULL, `cache_order_rate` decimal(5,4) default NULL, PRIMARY KEY (`id_referrer`, `id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_referrer_shop` (`id_referrer`, `id_shop`) SELECT `id_referrer`, 1 FROM `ps_referrer`

ALTER TABLE `ps_referrer` DROP `cache_visitors`, DROP `cache_visits`, DROP `cache_pages`, DROP `cache_registrations`, DROP `cache_orders`, DROP `cache_sales`, DROP `cache_reg_rate`, DROP `cache_order_rate`

ALTER TABLE `ps_cart_product` ADD `id_shop` INT NOT NULL DEFAULT '1' AFTER `id_product`

ALTER TABLE `ps_customization` ADD `in_cart` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0'

CREATE TABLE `ps_scene_shop` ( `id_scene` INT( 11 ) UNSIGNED NOT NULL , `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_scene`, `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_scene_shop` (id_shop, id_scene) (SELECT 1, id_scene FROM ps_scene)

ALTER TABLE `ps_delivery` ADD `id_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_delivery`, ADD `id_group_shop` INT UNSIGNED NULL DEFAULT NULL AFTER `id_shop`

/* PHP:create_multistore(); */

SET NAMES 'utf8'

CREATE TABLE IF NOT EXISTS `ps_module_access` ( `id_profile` int(10) unsigned NOT NULL, `id_module` int(10) unsigned NOT NULL, `view` tinyint(1) NOT NULL, `configure` tinyint(1) NOT NULL, PRIMARY KEY (`id_profile`,`id_module`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_profile` (`id_profile`) VALUES (5)

/* Create SuperAdmin */ UPDATE `ps_profile_lang` SET `id_profile` = 5 WHERE `id_profile` = 4

UPDATE `ps_profile_lang` SET `id_profile` = 4 WHERE `id_profile` = 3

UPDATE `ps_profile_lang` SET `id_profile` = 3 WHERE `id_profile` = 2

UPDATE `ps_profile_lang` SET `id_profile` = 2 WHERE `id_profile` = 1

INSERT INTO `ps_profile_lang` (`id_profile`, `id_lang`, `name`) VALUES (1, 1, 'SuperAdmin'),(1, 2, 'SuperAdmin'),(1, 3, 'SuperAdmin'),(1, 4, 'SuperAdmin'),(1, 5, 'SuperAdmin')

UPDATE `ps_access` SET `id_profile` = 5 WHERE `id_profile` = 4

UPDATE `ps_access` SET `id_profile` = 4 WHERE `id_profile` = 3

UPDATE `ps_access` SET `id_profile` = 3 WHERE `id_profile` = 2

UPDATE `ps_access` SET `id_profile` = 2 WHERE `id_profile` = 1

INSERT INTO `ps_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`,	`delete`) (SELECT 1, `id_tab`, 1, 1, 1, 1 FROM `ps_tab`)

UPDATE `ps_module_access` SET `id_profile` = 5 WHERE `id_profile` = 4

UPDATE `ps_module_access` SET `id_profile` = 4 WHERE `id_profile` = 3

UPDATE `ps_module_access` SET `id_profile` = 3 WHERE `id_profile` = 2

UPDATE `ps_module_access` SET `id_profile` = 2 WHERE `id_profile` = 1

INSERT INTO `ps_module_access` (`id_profile`, `id_module`, `configure`, `view`) (SELECT 1, `id_module`, 1, 1 FROM `ps_module`)

CREATE TABLE IF NOT EXISTS `ps_accounting_zone_shop` ( `id_accounting_zone_shop` int(11) NOT NULL AUTO_INCREMENT, `id_zone` int(11) NOT NULL, `id_shop` int(11) NOT NULL, `account_number` varchar(64) NOT NULL, PRIMARY KEY (`id_accounting_zone_shop`), UNIQUE KEY `id_zone` (`id_zone`,`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_accounting_product_zone_shop` ( `id_accounting_product_zone_shop` int(11) NOT NULL AUTO_INCREMENT, `id_product` int(11) NOT NULL, `id_shop` int(11) NOT NULL, `id_zone` int(11) NOT NULL, `account_number` varchar(64) NOT NULL, PRIMARY KEY (`id_accounting_product_zone_shop`), UNIQUE KEY `id_product` (`id_product`,`id_shop`,`id_zone`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

/* PHP:add_accounting_tab(); */

-- INSERT INTO `ps_module_access` (`id_profile`, `id_module`, `configure`, `view`) ( -- SELECT `id_profile`, `id_module`, 0, 1 -- FROM `ps_access` a, ps_module m -- WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` WHERE `class_name` = 'AdminModules' LIMIT 1) -- AND a.`view` = 0 -- )

-- -- INSERT INTO `ps_module_access` (`id_profile`, `id_module`, `configure`, `view`) ( -- SELECT `id_profile`, `id_module`, 1, 1 -- FROM `ps_access` a, ps_module m -- WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` WHERE `class_name` = 'AdminModules' LIMIT 1) -- AND a.`view` = 1 -- )

UPDATE `ps_tab` SET `class_name` = 'AdminThemes' WHERE `class_name` = 'AdminAppearance'

INSERT INTO `ps_hook` ( `name` , `title` , `description` , `position` , `live_edit` ) VALUES ('taxmanager', 'taxmanager', NULL , '1', '0')

ALTER TABLE `ps_tax_rule` ADD `zipcode_from` INT NOT NULL AFTER `id_state` , ADD `zipcode_to` INT NOT NULL AFTER `zipcode_from` , ADD `behavior` INT NOT NULL AFTER `zipcode_to`, ADD `description` VARCHAR( 100 ) NOT NULL AFTER `id_tax`

ALTER TABLE `ps_tax_rule` DROP INDEX tax_rule
(1091) Can't DROP 'tax_rule'; check that column/key exists

INSERT INTO `ps_tax_rule` (`id_tax_rules_group`, `id_country`, `id_state`, `id_tax`, `behavior`, `zipcode_from`, `zipcode_to`) SELECT r.`id_tax_rules_group`, r.`id_country`, r.`id_state`, r.`id_tax`, 0, z.`from_zip_code`, z.`to_zip_code` FROM `ps_tax_rule` r INNER JOIN `ps_county_zip_code` z ON (z.`id_county` = r.`id_county`)

UPDATE `ps_tax_rule` SET `behavior` = GREATEST(`state_behavior`, `county_behavior`)

DELETE FROM `ps_tax_rule` WHERE `id_county` != 0 AND `zipcode_from` = 0

ALTER TABLE `ps_tax_rule` DROP `id_county`, DROP `state_behavior`, DROP `county_behavior`

/* PHP:remove_tab(AdminCounty); */

DROP TABLE `ps_county_zip_code`

DROP TABLE `ps_county`

ALTER TABLE `ps_employee` ADD `id_last_order` tinyint(1) unsigned NOT NULL default '0', ADD `id_last_customer_message` tinyint(1) unsigned NOT NULL default '0', ADD `id_last_customer` tinyint(1) unsigned NOT NULL default '0'

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_SHOW_NEW_ORDERS', '1', NOW(), NOW()), ('PS_SHOW_NEW_CUSTOMERS', '1', NOW(), NOW()), ('PS_SHOW_NEW_MESSAGES', '1', NOW(), NOW()), ('PS_FEATURE_FEATURE_ACTIVE', '1', NOW(), NOW()), ('PS_COMBINATION_FEATURE_ACTIVE', '1', NOW(), NOW()), ('PS_ADMINREFRESH_NOTIFICATION', '1', NOW(), NOW())

/* PHP:update_feature_detachable_cache(); */

ALTER TABLE `ps_product` ADD `available_date` DATE NOT NULL AFTER `available_for_order`

ALTER TABLE `ps_product_attribute` ADD `available_date` DATE NOT NULL

/* Index was only used by deprecated function Image::positionImage() */ ALTER TABLE `ps_image` DROP INDEX `product_position`

CREATE TABLE IF NOT EXISTS `ps_gender` ( `id_gender` int(11) NOT NULL AUTO_INCREMENT, `type` tinyint(1) NOT NULL, PRIMARY KEY (`id_gender`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_gender_lang` ( `id_gender` int(10) unsigned NOT NULL, `id_lang` int(10) unsigned NOT NULL, `name` varchar(20) NOT NULL, PRIMARY KEY (`id_gender`,`id_lang`), KEY `id_gender` (`id_gender`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_gender` (`id_gender`, `type`) VALUES (1, 0), (2, 1), (3, 1)

INSERT INTO `ps_gender_lang` (`id_gender`, `id_lang`, `name`) VALUES (1, 1, 'Mr.'), (1, 2, 'M.'), (1, 3, 'Sr.'), (1, 4, 'Herr'), (1, 5, 'Sig.'), (2, 1, 'Ms.'), (2, 2, 'Mme'), (2, 3, 'Sra.'), (2, 4, 'Frau'), (2, 5, 'Sig.ra'), (3, 1, 'Miss'), (3, 2, 'Melle'), (3, 3, 'Miss'), (3, 4, 'Miss'), (3, 5, 'Miss')

DELETE FROM `ps_configuration` WHERE `name` = 'PS_FORCE_SMARTY_2'

CREATE TABLE IF NOT EXISTS `ps_order_detail_tax` ( `id_order_detail` INT NOT NULL , `id_tax` INT NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_tax` ADD `deleted` INT NOT NULL AFTER `active`

/* PHP:update_order_detail_taxes(); */

CREATE TABLE `ps_customer_message_sync_imap` ( `md5_header` varbinary(32) NOT NULL, KEY `md5_header_index` (`md5_header`(4)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_customer_message` ADD `private` TINYINT NOT NULL DEFAULT '0' AFTER `user_agent`

/* PHP:add_new_tab(AdminGenders, fr:Genres|es:Genders|en:Genders|de:Genders|it:Genders, 2); */

ALTER TABLE `ps_attribute` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'

/* PHP:add_attribute_position(); */

ALTER TABLE `ps_product_download` CHANGE `date_deposit` `date_add` DATETIME NOT NULL

ALTER TABLE `ps_product_download` CHANGE `physically_filename` `filename` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

ALTER TABLE `ps_product_download` ADD `id_product_attribute` INT( 10 ) UNSIGNED NOT NULL AFTER `id_product` , ADD INDEX ( `id_product_attribute` )

ALTER TABLE `ps_product_download` ADD `is_shareable` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `active`

ALTER TABLE `ps_attribute_group` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'

ALTER TABLE `ps_attribute_group` ADD `group_type` ENUM('select', 'radio', 'color') NOT NULL DEFAULT 'select'

UPDATE `ps_attribute_group` SET `group_type`='color' WHERE `is_color_group` = 1

ALTER TABLE `ps_product` DROP `id_color_default`

/* PHP:add_group_attribute_position(); */

ALTER TABLE `ps_feature` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'

/* PHP:add_feature_position(); */

CREATE TABLE IF NOT EXISTS `ps_request_sql` ( `id_request_sql` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL, `sql` text NOT NULL, PRIMARY KEY (`id_request_sql`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

/* PHP:add_new_tab(AdminRequestSql, fr:SQL Manager|es:SQL Manager|en:SQL Manager|de:Wunsh|it:SQL Manager, 9); */

ALTER TABLE `ps_carrier` ADD COLUMN `id_reference` int(10) NOT NULL AFTER `id_carrier`

UPDATE `ps_carrier` SET id_reference = id_carrier

ALTER TABLE `ps_product` ADD `is_virtual` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `cache_has_attachments`

/* PHP:add_new_tab(AdminProducts, fr:Products|es:Products|en:Products|de:Products|it:Products, 1); */

/* PHP:add_new_tab(AdminCategories, fr:Categories|es:Categories|en:Categories|de:Categories|it:Categories, 1); */

/* PHP:add_default_restrictions_modules_groups(); */

CREATE TABLE IF NOT EXISTS `ps_employee_shop` ( `id_employee` INT( 11 ) UNSIGNED NOT NULL , `id_shop` INT( 11 ) UNSIGNED NOT NULL , PRIMARY KEY ( `id_employee` , `id_shop` ) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_employee_shop` (`id_employee`, `id_shop`) (SELECT `id_employee`, 1 FROM `ps_employee`)

UPDATE `ps_access` SET `view` = 0, `add` = 0, `edit` = 0, `delete` = 0 WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminShop' LIMIT 1) AND `id_profile` != 1

ALTER TABLE `ps_carrier` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'

/* PHP:add_carrier_position(); */

ALTER TABLE `ps_order_state` ADD COLUMN `shipped` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `delivery`

UPDATE `ps_order_state` SET `shipped` = 1 WHERE id_order_state IN (4, 5)

CREATE TABLE `ps_order_invoice` ( `id_order_invoice` int(11) NOT NULL AUTO_INCREMENT, `id_order` int(11) NOT NULL, `number` int(11) NOT NULL, `total_discount_tax_excl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_discount_tax_incl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_paid_tax_excl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_paid_tax_incl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_products` decimal(17,2) NOT NULL DEFAULT '0.00', `total_products_wt` decimal(17,2) NOT NULL DEFAULT '0.00', `total_shipping_tax_excl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_shipping_tax_incl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_wrapping_tax_excl` decimal(17,2) NOT NULL DEFAULT '0.00', `total_wrapping_tax_incl` decimal(17,2) NOT NULL DEFAULT '0.00', `date_add` datetime NOT NULL, PRIMARY KEY (`id_order_invoice`), KEY `id_order` (`id_order`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_order_detail` ADD `id_order_invoice` int(11) NULL AFTER `id_order`

ALTER TABLE `ps_payment_cc` CHANGE `id_payment_cc` `id_order_payment` INT NOT NULL auto_increment

ALTER TABLE `ps_payment_cc` ADD `id_order_invoice` varchar(255) NOT NULL AFTER `id_order_payment`

ALTER TABLE `ps_payment_cc` ADD `payment_method` varchar(255) NOT NULL AFTER `amount`

ALTER TABLE `ps_payment_cc` ADD `conversion_rate` decimal(13,6) NOT NULL DEFAULT 1 AFTER `payment_method`

RENAME TABLE `ps_payment_cc` TO `ps_order_payment`

ALTER TABLE `ps_carrier` ADD COLUMN `max_width` int(10) DEFAULT 0 AFTER `position`, ADD COLUMN `max_height` int(10) DEFAULT 0 AFTER `max_width`, ADD COLUMN `max_depth` int(10) DEFAULT 0 AFTER `max_height`, ADD COLUMN `max_weight` int(10) DEFAULT 0 AFTER `max_depth`, ADD COLUMN `grade` int(10) DEFAULT 0 AFTER `max_weight`

ALTER TABLE `ps_cart_product` ADD COLUMN `id_address_delivery` int(10) UNSIGNED DEFAULT 0 AFTER `date_add`

UPDATE `ps_cart_product` SET id_address_delivery = 0

ALTER TABLE `ps_cart` ADD COLUMN `allow_seperated_package` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `gift_message`

CREATE TABLE `ps_product_carrier` ( `id_product` int(10) unsigned NOT NULL, `id_carrier_reference` int(10) unsigned NOT NULL, `id_shop` int(10) unsigned NOT NULL, PRIMARY KEY (`id_product`, `id_carrier_reference`, `id_shop`) ) ENGINE = MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_customization` ADD COLUMN `id_address_delivery` int(10) UNSIGNED NOT NULL DEFAULT 0 AFTER `id_product_attribute`, DROP PRIMARY KEY, ADD PRIMARY KEY USING BTREE(`id_customization`, `id_cart`, `id_product`, `id_address_delivery`)

CREATE TABLE `ps_cart_rule` ( `id_cart_rule` int(10) unsigned NOT NULL auto_increment, `id_customer` int unsigned NOT NULL default 0, `date_from` datetime NOT NULL, `date_to` datetime NOT NULL, `description` text, `quantity` int(10) unsigned NOT NULL default 0, `quantity_per_user` int(10) unsigned NOT NULL default 0, `priority` int(10) unsigned NOT NULL default 1, `code` varchar(254) NOT NULL, `minimum_amount` decimal(17,2) NOT NULL default 0, `minimum_amount_tax` tinyint(1) NOT NULL default 0, `minimum_amount_currency` int unsigned NOT NULL default 0, `minimum_amount_shipping` tinyint(1) NOT NULL default 0, `country_restriction` tinyint(1) unsigned NOT NULL default 0, `carrier_restriction` tinyint(1) unsigned NOT NULL default 0, `group_restriction` tinyint(1) unsigned NOT NULL default 0, `cart_rule_restriction` tinyint(1) unsigned NOT NULL default 0, `product_restriction` tinyint(1) unsigned NOT NULL default 0, `free_shipping` tinyint(1) NOT NULL default 0, `reduction_percent` decimal(5,2) NOT NULL default 0, `reduction_amount` decimal(17,2) NOT NULL default 0, `reduction_tax` tinyint(1) unsigned NOT NULL default 0, `reduction_currency` int(10) unsigned NOT NULL default 0, `reduction_product` int(10) NOT NULL default 0, `gift_product` int(10) unsigned NOT NULL default 0, `active` tinyint(1) unsigned NOT NULL default 0, `date_add` datetime NOT NULL, `date_upd` datetime NOT NULL, PRIMARY KEY (`id_cart_rule`) )

CREATE TABLE `ps_cart_rule_country` ( `id_cart_rule` int(10) unsigned NOT NULL, `id_country` int(10) unsigned NOT NULL, PRIMARY KEY (`id_cart_rule`, `id_country`) )

CREATE TABLE `ps_cart_rule_group` ( `id_cart_rule` int(10) unsigned NOT NULL, `id_group` int(10) unsigned NOT NULL, PRIMARY KEY (`id_cart_rule`, `id_group`) )

CREATE TABLE `ps_cart_rule_carrier` ( `id_cart_rule` int(10) unsigned NOT NULL, `id_carrier` int(10) unsigned NOT NULL, PRIMARY KEY (`id_cart_rule`, `id_carrier`) )

CREATE TABLE `ps_cart_rule_combination` ( `id_cart_rule_1` int(10) unsigned NOT NULL, `id_cart_rule_2` int(10) unsigned NOT NULL, PRIMARY KEY (`id_cart_rule_1`, `id_cart_rule_2`) )

CREATE TABLE `ps_cart_rule_product_rule` ( `id_product_rule` int(10) unsigned NOT NULL auto_increment, `id_cart_rule` int(10) unsigned NOT NULL, `quantity` int(10) unsigned NOT NULL default 1, `type` ENUM('products', 'categories', 'attributes') NOT NULL, PRIMARY KEY (`id_product_rule`) )

SET @id_currency_default = (SELECT value FROM `ps_configuration` WHERE name = 'PS_CURRENCY_DEFAULT' LIMIT 1)

INSERT INTO `ps_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 `ps_discount` )

RENAME TABLE `ps_discount_lang` TO `ps_cart_rule_lang`

ALTER TABLE `ps_cart_rule_lang` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL

ALTER TABLE `ps_cart_rule_lang` CHANGE `description` `name` varchar(254) NOT NULL

RENAME TABLE `ps_discount_category` TO `ps_cart_rule_product_rule_value`

ALTER TABLE `ps_cart_rule_product_rule_value` CHANGE `id_category` `id_item` int(10) unsigned NOT NULL

ALTER TABLE `ps_cart_rule_product_rule_value` CHANGE `id_discount` `id_product_rule` int(10) unsigned NOT NULL

INSERT INTO `ps_cart_rule_product_rule` (`id_product_rule`, `id_cart_rule`, `quantity`, `type`) ( SELECT DISTINCT `id_product_rule`, `id_product_rule`, 1, 'categories' FROM `ps_cart_rule_product_rule_value` )

UPDATE `ps_cart_rule` SET product_restriction = 1 WHERE `id_cart_rule` IN (SELECT `id_cart_rule` FROM `ps_cart_rule_product_rule`)

ALTER TABLE `ps_cart_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL

ALTER TABLE `ps_order_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL

ALTER TABLE `ps_order_discount` CHANGE `id_order_discount` `id_order_cart_rule` int(10) unsigned NOT NULL

RENAME TABLE `ps_order_discount` TO `ps_order_cart_rule`

RENAME TABLE `ps_cart_discount` TO `ps_cart_cart_rule`

CREATE VIEW `ps_order_discount` AS SELECT *, id_cart_rule as id_discount FROM `ps_order_cart_rule`

CREATE VIEW `ps_cart_discount` AS SELECT *, id_cart_rule as id_discount FROM `ps_cart_cart_rule`

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) ( SELECT 'PS_CART_RULE_FEATURE_ACTIVE', `value`, NOW(), NOW() FROM `ps_configuration` WHERE `name` = 'PS_DISCOUNT_FEATURE_ACTIVE' LIMIT 1 )

UPDATE `ps_tab` SET class_name = 'AdminCartRules' WHERE class_name = 'AdminDiscounts'

UPDATE `ps_hook` SET `name` = 'displayPayment' WHERE `name` = 'payment'

UPDATE `ps_hook` SET `name` = 'actionValidateOrder' WHERE `name` = 'newOrder'

UPDATE `ps_hook` SET `name` = 'actionPaymentConfirmation' WHERE `name` = 'paymentConfirm'

UPDATE `ps_hook` SET `name` = 'displayPaymentReturn' WHERE `name` = 'paymentReturn'

UPDATE `ps_hook` SET `name` = 'actionUpdateQuantity' WHERE `name` = 'updateQuantity'

UPDATE `ps_hook` SET `name` = 'displayRightColumn' WHERE `name` = 'rightColumn'

UPDATE `ps_hook` SET `name` = 'displayLeftColumn' WHERE `name` = 'leftColumn'

UPDATE `ps_hook` SET `name` = 'displayHome' WHERE `name` = 'home'

UPDATE `ps_hook` SET `name` = 'displayHeader' WHERE `name` = 'header'

UPDATE `ps_hook` SET `name` = 'actionCartSave' WHERE `name` = 'cart'

UPDATE `ps_hook` SET `name` = 'actionAuthentication' WHERE `name` = 'authentication'

UPDATE `ps_hook` SET `name` = 'actionProductAdd' WHERE `name` = 'addproduct'

UPDATE `ps_hook` SET `name` = 'actionProductUpdate' WHERE `name` = 'updateproduct'

UPDATE `ps_hook` SET `name` = 'displayTop' WHERE `name` = 'top'

UPDATE `ps_hook` SET `name` = 'displayRightColumnProduct' WHERE `name` = 'extraRight'

UPDATE `ps_hook` SET `name` = 'actionProductDelete' WHERE `name` = 'deleteproduct'

UPDATE `ps_hook` SET `name` = 'displayFooterProduct' WHERE `name` = 'productfooter'

UPDATE `ps_hook` SET `name` = 'displayInvoice' WHERE `name` = 'invoice'

UPDATE `ps_hook` SET `name` = 'actionOrderStatusUpdate' WHERE `name` = 'updateOrderStatus'

UPDATE `ps_hook` SET `name` = 'displayAdminOrder' WHERE `name` = 'adminOrder'

UPDATE `ps_hook` SET `name` = 'displayFooter' WHERE `name` = 'footer'

UPDATE `ps_hook` SET `name` = 'displayPDFInvoice' WHERE `name` = 'PDFInvoice'

UPDATE `ps_hook` SET `name` = 'displayAdminCustomers' WHERE `name` = 'adminCustomers'

UPDATE `ps_hook` SET `name` = 'displayOrderConfirmation' WHERE `name` = 'orderConfirmation'

UPDATE `ps_hook` SET `name` = 'actionCustomerAccountAdd' WHERE `name` = 'createAccount'

UPDATE `ps_hook` SET `name` = 'displayCustomerAccount' WHERE `name` = 'customerAccount'

UPDATE `ps_hook` SET `name` = 'actionOrderSlipAdd' WHERE `name` = 'orderSlip'

UPDATE `ps_hook` SET `name` = 'displayProductTab' WHERE `name` = 'productTab'

UPDATE `ps_hook` SET `name` = 'displayProductTabContent' WHERE `name` = 'productTabContent'

UPDATE `ps_hook` SET `name` = 'displayShoppingCartFooter' WHERE `name` = 'shoppingCart'

UPDATE `ps_hook` SET `name` = 'displayCustomerAccountForm' WHERE `name` = 'createAccountForm'

UPDATE `ps_hook` SET `name` = 'displayAdminStatsModules' WHERE `name` = 'AdminStatsModules'

UPDATE `ps_hook` SET `name` = 'displayAdminStatsGraphEngine' WHERE `name` = 'GraphEngine'

UPDATE `ps_hook` SET `name` = 'actionOrderReturn' WHERE `name` = 'orderReturn'

UPDATE `ps_hook` SET `name` = 'displayProductButtons' WHERE `name` = 'productActions'

UPDATE `ps_hook` SET `name` = 'displayBackOfficeHome' WHERE `name` = 'backOfficeHome'

UPDATE `ps_hook` SET `name` = 'displayAdminStatsGridEngine' WHERE `name` = 'GridEngine'

UPDATE `ps_hook` SET `name` = 'actionWatermark' WHERE `name` = 'watermark'

UPDATE `ps_hook` SET `name` = 'actionProductCancel' WHERE `name` = 'cancelProduct'

UPDATE `ps_hook` SET `name` = 'displayLeftColumnProduct' WHERE `name` = 'extraLeft'

UPDATE `ps_hook` SET `name` = 'actionProductOutOfStock' WHERE `name` = 'productOutOfStock'

UPDATE `ps_hook` SET `name` = 'actionProductAttributeUpdate' WHERE `name` = 'updateProductAttribute'

UPDATE `ps_hook` SET `name` = 'displayCarrierList' WHERE `name` = 'extraCarrier'

UPDATE `ps_hook` SET `name` = 'displayShoppingCart' WHERE `name` = 'shoppingCartExtra'

UPDATE `ps_hook` SET `name` = 'actionSearch' WHERE `name` = 'search'

UPDATE `ps_hook` SET `name` = 'displayBeforePayment' WHERE `name` = 'backBeforePayment'

UPDATE `ps_hook` SET `name` = 'actionCarrierUpdate' WHERE `name` = 'updateCarrier'

UPDATE `ps_hook` SET `name` = 'actionOrderStatusPostUpdate' WHERE `name` = 'postUpdateOrderStatus'

UPDATE `ps_hook` SET `name` = 'displayCustomerAccountFormTop' WHERE `name` = 'createAccountTop'

UPDATE `ps_hook` SET `name` = 'displayBackOfficeHeader' WHERE `name` = 'backOfficeHeader'

UPDATE `ps_hook` SET `name` = 'displayBackOfficeTop' WHERE `name` = 'backOfficeTop'

UPDATE `ps_hook` SET `name` = 'displayBackOfficeFooter' WHERE `name` = 'backOfficeFooter'

UPDATE `ps_hook` SET `name` = 'actionProductAttributeDelete' WHERE `name` = 'deleteProductAttribute'

UPDATE `ps_hook` SET `name` = 'actionCarrierProcess' WHERE `name` = 'processCarrier'

UPDATE `ps_hook` SET `name` = 'actionOrderDetail' WHERE `name` = 'orderDetail'

UPDATE `ps_hook` SET `name` = 'displayBeforeCarrier' WHERE `name` = 'beforeCarrier'

UPDATE `ps_hook` SET `name` = 'displayOrderDetail' WHERE `name` = 'orderDetailDisplayed'

UPDATE `ps_hook` SET `name` = 'actionPaymentCCAdd' WHERE `name` = 'paymentCCAdded'

UPDATE `ps_hook` SET `name` = 'displayProductComparison' WHERE `name` = 'extraProductComparison'

UPDATE `ps_hook` SET `name` = 'actionCategoryAdd' WHERE `name` = 'categoryAddition'

UPDATE `ps_hook` SET `name` = 'actionCategoryUpdate' WHERE `name` = 'categoryUpdate'

UPDATE `ps_hook` SET `name` = 'actionCategoryDelete' WHERE `name` = 'categoryDeletion'

UPDATE `ps_hook` SET `name` = 'actionBeforeAuthentication' WHERE `name` = 'beforeAuthentication'

UPDATE `ps_hook` SET `name` = 'displayPaymentTop' WHERE `name` = 'paymentTop'

UPDATE `ps_hook` SET `name` = 'actionHtaccessCreate' WHERE `name` = 'afterCreateHtaccess'

UPDATE `ps_hook` SET `name` = 'actionAdminMetaSave' WHERE `name` = 'afterSaveAdminMeta'

UPDATE `ps_hook` SET `name` = 'displayAttributeGroupForm' WHERE `name` = 'attributeGroupForm'

UPDATE `ps_hook` SET `name` = 'actionAttributeGroupSave' WHERE `name` = 'afterSaveAttributeGroup'

UPDATE `ps_hook` SET `name` = 'actionAttributeGroupDelete' WHERE `name` = 'afterDeleteAttributeGroup'

UPDATE `ps_hook` SET `name` = 'displayFeatureForm' WHERE `name` = 'featureForm'

UPDATE `ps_hook` SET `name` = 'actionFeatureSave' WHERE `name` = 'afterSaveFeature'

UPDATE `ps_hook` SET `name` = 'actionFeatureDelete' WHERE `name` = 'afterDeleteFeature'

UPDATE `ps_hook` SET `name` = 'actionProductSave' WHERE `name` = 'afterSaveProduct'

UPDATE `ps_hook` SET `name` = 'actionProductListOverride' WHERE `name` = 'productListAssign'

UPDATE `ps_hook` SET `name` = 'displayAttributeGroupPostProcess' WHERE `name` = 'postProcessAttributeGroup'

UPDATE `ps_hook` SET `name` = 'displayFeaturePostProcess' WHERE `name` = 'postProcessFeature'

UPDATE `ps_hook` SET `name` = 'displayFeatureValueForm' WHERE `name` = 'featureValueForm'

UPDATE `ps_hook` SET `name` = 'displayFeatureValuePostProcess' WHERE `name` = 'postProcessFeatureValue'

UPDATE `ps_hook` SET `name` = 'actionFeatureValueDelete' WHERE `name` = 'afterDeleteFeatureValue'

UPDATE `ps_hook` SET `name` = 'actionFeatureValueSave' WHERE `name` = 'afterSaveFeatureValue'

UPDATE `ps_hook` SET `name` = 'displayAttributeForm' WHERE `name` = 'attributeForm'

UPDATE `ps_hook` SET `name` = 'actionAttributePostProcess' WHERE `name` = 'postProcessAttribute'

UPDATE `ps_hook` SET `name` = 'actionAttributeDelete' WHERE `name` = 'afterDeleteAttribute'

UPDATE `ps_hook` SET `name` = 'actionAttributeSave' WHERE `name` = 'afterSaveAttribute'

UPDATE `ps_hook` SET `name` = 'actionTaxManager' WHERE `name` = 'taxManager'

ALTER TABLE `ps_order_detail_tax` ADD `unit_amount` DECIMAL( 10, 6 ) NOT NULL AFTER `id_tax` , ADD `total_amount` DECIMAL( 10, 6 ) NOT NULL AFTER `unit_amount`

ALTER TABLE `ps_specific_price` ADD `id_product_attribute` INT UNSIGNED NOT NULL AFTER `id_product`

ALTER TABLE `ps_specific_price` DROP INDEX `id_product`

ALTER TABLE `ps_specific_price` ADD INDEX `id_product` (`id_product`, `id_product_attribute`, `id_shop`, `id_currency`, `id_country`, `id_group`, `from_quantity`, `from`, `to`)

ALTER TABLE `ps_orders` ADD COLUMN `reference` varchar(9) AFTER `id_order`
(1060) Duplicate column name 'reference'

ALTER TABLE `ps_orders` ADD COLUMN `id_warehouse` int(10) unsigned DEFAULT 0 AFTER `id_carrier`

ALTER TABLE `ps_cart` ADD COLUMN `order_reference` varchar(9) AFTER `id_cart`

ALTER TABLE `ps_cart` ADD COLUMN `delivery_option` varchar(100) AFTER `id_carrier`

ALTER TABLE `ps_hook` ADD `is_native` TINYINT( 1 ) NOT NULL DEFAULT '0'

ALTER TABLE `ps_tax` ADD COLUMN `account_number` VARCHAR(64) NOT NULL

/* PHP:add_new_tab(AdminAttributeGenerator, fr:Générateur de déclinaisons|es:Combinations generator|en:Combinations generator|de:Combinations generator|it:Combinations generator, -1); */

/* PHP:add_new_tab(AdminCMSCategories, fr:Catégories CMS|es:CMS categories|en:CMS categories|de:CMS categories|it:CMS categories, -1); */

/* PHP:add_new_tab(AdminCMS, fr:Pages CMS|es:CMS pages|en:CMS pages|de:CMS pages|it:CMS pages, -1); */

UPDATE `ps_quick_access` SET `link` = 'index.php?controller=AdminCategories&addcategory' WHERE `id_quick_access` = 3

UPDATE `ps_quick_access` SET `link` = 'index.php?controller=AdminProducts&addproduct' WHERE `id_quick_access` = 4

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminCmsCategories' LIMIT 1) AND `id_profile` = '3'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminCmsCategories' LIMIT 1) AND `id_profile` = '5'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminCms' LIMIT 1) AND `id_profile` = '3'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminCms' LIMIT 1) AND `id_profile` = '5'

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_CUSTOMER_GROUP', '1', NOW(), NOW())

/* PHP:add_new_groups('Non identifié', 'Unidentified'); */

/* PHP:add_new_groups('Invité', 'Guest'); */

UPDATE `ps_employee` SET `bo_theme` = 'default'

UPDATE `ps_tab` SET `class_name` = 'AdminCmsContent' WHERE `class_name` = 'AdminCMSContent'

UPDATE `ps_tab` SET `class_name` = 'AdminCms' WHERE `class_name` = 'AdminCMS'

UPDATE `ps_tab` SET `class_name` = 'AdminCmsCategories' WHERE `class_name` = 'AdminCMSCategories'

UPDATE `ps_tab` SET `class_name` = 'AdminPdf' WHERE `class_name` = 'AdminPDF'

CREATE TABLE `ps_order_carrier` ( `id_order_carrier` int(11) NOT NULL AUTO_INCREMENT, `id_order` int(11) unsigned NOT NULL, `id_carrier` int(11) unsigned NOT NULL, `id_order_invoice` int(11) unsigned DEFAULT NULL, `weight` float DEFAULT NULL, `shipping_cost_tax_excl` decimal(20,6) DEFAULT NULL, `shipping_cost_tax_incl` decimal(20,6) DEFAULT NULL, `tracking_number` varchar(64) DEFAULT NULL, `date_add` datetime NOT NULL, PRIMARY KEY (`id_order_carrier`), KEY `id_order` (`id_order`), KEY `id_carrier` (`id_carrier`), KEY `id_order_invoice` (`id_order_invoice`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_order_slip` ADD COLUMN `amount` DECIMAL(10,2) NOT NULL AFTER `shipping_cost`

ALTER TABLE `ps_order_slip` ADD COLUMN `shipping_cost_amount` DECIMAL(10,2) NOT NULL AFTER `amount`

ALTER TABLE `ps_order_slip` ADD COLUMN `partial` TINYINT(1) NOT NULL AFTER `shipping_cost_amount`

ALTER TABLE `ps_order_slip_detail` ADD COLUMN `amount` DECIMAL(10,2) NOT NULL AFTER `product_quantity`

INSERT INTO `ps_tab` (`id_parent`, `class_name`, `position`) VALUES (-1, 'AdminLogin', 0)

CREATE TABLE `ps_hook_alias` ( `id_hook_alias` int(10) unsigned NOT NULL auto_increment, `alias` varchar(64) NOT NULL, `name` varchar(64) NOT NULL, PRIMARY KEY (`id_hook_alias`), UNIQUE KEY `alias` (`alias`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO `ps_hook_alias` (`id_hook_alias`, `name`, `alias`) VALUES (1, 'displayPayment', 'payment'), (2, 'actionValidateOrder', 'newOrder'), (3, 'actionPaymentConfirmation', 'paymentConfirm'), (4, 'displayPaymentReturn', 'paymentReturn'), (5, 'actionUpdateQuantity', 'updateQuantity'), (6, 'displayRightColumn', 'rightColumn'), (7, 'displayLeftColumn', 'leftColumn'), (8, 'displayHome', 'home'), (9, 'displayHeader', 'header'), (10, 'actionCartSave', 'cart'), (11, 'actionAuthentication', 'authentication'), (12, 'actionProductAdd', 'addproduct'), (13, 'actionProductUpdate', 'updateproduct'), (14, 'displayTop', 'top'), (15, 'displayRightColumnProduct', 'extraRight'), (16, 'actionProductDelete', 'deleteproduct'), (17, 'displayFooterProduct', 'productfooter'), (18, 'displayInvoice', 'invoice'), (19, 'actionOrderStatusUpdate', 'updateOrderStatus'), (20, 'displayAdminOrder', 'adminOrder'), (21, 'displayFooter', 'footer'), (22, 'displayPDFInvoice', 'PDFInvoice'), (23, 'displayAdminCustomers', 'adminCustomers'), (24, 'displayOrderConfirmation', 'orderConfirmation'), (25, 'actionCustomerAccountAdd', 'createAccount'), (26, 'displayCustomerAccount', 'customerAccount'), (27, 'actionOrderSlipAdd', 'orderSlip'), (28, 'displayProductTab', 'productTab'), (29, 'displayProductTabContent', 'productTabContent'), (30, 'displayShoppingCartFooter', 'shoppingCart'), (31, 'displayCustomerAccountForm', 'createAccountForm'), (32, 'displayAdminStatsModules', 'AdminStatsModules'), (33, 'displayAdminStatsGraphEngine', 'GraphEngine'), (34, 'actionOrderReturn', 'orderReturn'), (35, 'displayProductButtons', 'productActions'), (36, 'displayBackOfficeHome', 'backOfficeHome'), (37, 'displayAdminStatsGridEngine', 'GridEngine'), (38, 'actionWatermark', 'watermark'), (39, 'actionProductCancel', 'cancelProduct'), (40, 'displayLeftColumnProduct', 'extraLeft'), (41, 'actionProductOutOfStock', 'productOutOfStock'), (42, 'actionProductAttributeUpdate', 'updateProductAttribute'), (43, 'displayCarrierList', 'extraCarrier'), (44, 'displayShoppingCart', 'shoppingCartExtra'), (45, 'actionSearch', 'search'), (46, 'displayBeforePayment', 'backBeforePayment'), (47, 'actionCarrierUpdate', 'updateCarrier'), (48, 'actionOrderStatusPostUpdate', 'postUpdateOrderStatus'), (49, 'displayCustomerAccountFormTop', 'createAccountTop'), (50, 'displayBackOfficeHeader', 'backOfficeHeader'), (51, 'displayBackOfficeTop', 'backOfficeTop'), (52, 'displayBackOfficeFooter', 'backOfficeFooter'), (53, 'actionProductAttributeDelete', 'deleteProductAttribute'), (54, 'actionCarrierProcess', 'processCarrier'), (55, 'actionOrderDetail', 'orderDetail'), (56, 'displayBeforeCarrier', 'beforeCarrier'), (57, 'displayOrderDetail', 'orderDetailDisplayed'), (58, 'actionPaymentCCAdd', 'paymentCCAdded'), (59, 'displayProductComparison', 'extraProductComparison'), (60, 'actionCategoryAdd', 'categoryAddition'), (61, 'actionCategoryUpdate', 'categoryUpdate'), (62, 'actionCategoryDelete', 'categoryDeletion'), (63, 'actionBeforeAuthentication', 'beforeAuthentication'), (64, 'displayPaymentTop', 'paymentTop'), (65, 'actionHtaccessCreate', 'afterCreateHtaccess'), (66, 'actionAdminMetaSave', 'afterSaveAdminMeta'), (67, 'displayAttributeGroupForm', 'attributeGroupForm'), (68, 'actionAttributeGroupSave', 'afterSaveAttributeGroup'), (69, 'actionAttributeGroupDelete', 'afterDeleteAttributeGroup'), (70, 'displayFeatureForm', 'featureForm'), (71, 'actionFeatureSave', 'afterSaveFeature'), (72, 'actionFeatureDelete', 'afterDeleteFeature'), (73, 'actionProductSave', 'afterSaveProduct'), (74, 'actionProductListOverride', 'productListAssign'), (75, 'displayAttributeGroupPostProcess', 'postProcessAttributeGroup'), (76, 'displayFeaturePostProcess', 'postProcessFeature'), (77, 'displayFeatureValueForm', 'featureValueForm'), (78, 'displayFeatureValuePostProcess', 'postProcessFeatureValue'), (79, 'actionFeatureValueDelete', 'afterDeleteFeatureValue'), (80, 'actionFeatureValueSave', 'afterSaveFeatureValue'), (81, 'displayAttributeForm', 'attributeForm'), (82, 'actionAttributePostProcess', 'postProcessAttribute'), (83, 'actionAttributeDelete', 'afterDeleteAttribute'), (84, 'actionAttributeSave', 'afterSaveAttribute'), (85, 'actionTaxManager', 'taxManager')

SET NAMES 'utf8'

DELETE FROM `ps_tab` WHERE `id_tab` = 59

DELETE FROM `ps_tab_lang` WHERE `id_tab` = 59 AND `id_lang` = 1

DELETE FROM `ps_tab_lang` WHERE `id_tab` = 59 AND `id_lang` = 2

DELETE FROM `ps_tab_lang` WHERE `id_tab` = 59 AND `id_lang` = 3

DELETE FROM `ps_tab_lang` WHERE `id_tab` = 59 AND `id_lang` = 4

DELETE FROM `ps_tab_lang` WHERE `id_tab` = 59 AND `id_lang` = 5

ALTER TABLE `ps_module` ADD `version` VARCHAR( 8 ) NOT NULL

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `ps_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=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_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 `ps_order_invoice` ADD `note` TEXT NOT NULL AFTER `total_wrapping_tax_incl`

/* ORDER STATES */ ALTER TABLE `ps_order_state` ADD `paid` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `shipped`

UPDATE `ps_order_state` SET `paid` = 1 WHERE `id_order_state` IN (2, 3, 4, 5, 9, 12)

/* SPECIFIC PRICE */ ALTER TABLE `ps_specific_price` ADD `id_customer` INT UNSIGNED NOT NULL AFTER `id_group`

ALTER TABLE `ps_specific_price` DROP INDEX `id_product` , ADD INDEX `id_product` (`id_product`, `id_shop`, `id_currency`, `id_country`, `id_group`, `id_customer`, `from_quantity`, `from`, `to`)

/************************ * STOCK MANAGEMENT *************************/ /* PHP:add_stock_tab(); */

UPDATE `ps_access` SET `view` = '1' WHERE `id_profile` = 5 AND `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminStock' LIMIT 1)

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminSupplyOrders' LIMIT 1) AND `id_profile` = '4'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminSupplyOrders' LIMIT 1) AND `id_profile` = '5'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminStockConfiguration' LIMIT 1) AND `id_profile` = '4'

UPDATE `ps_access` SET `view` = '0', `add` = '0', `edit` = '0', `delete` = '0' WHERE `id_tab` = (SELECT `id_tab` FROM `ps_tab` t WHERE t.`class_name` = 'AdminStockConfiguration' LIMIT 1) AND `id_profile` = '5'

/* New tables */ CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

/* Update records before alter tables */ /* PHP:set_stock_available(); */

/* PHP:set_product_suppliers(); */

/* Update tables */ DROP TABLE IF EXISTS `ps_stock`

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

DROP TABLE IF EXISTS `ps_stock_mvt`

CREATE TABLE IF NOT EXISTS `ps_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=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_orders` DROP COLUMN `id_warehouse`

ALTER TABLE `ps_supplier` ADD COLUMN `id_address` int(10) unsigned NOT NULL default '0' AFTER `id_supplier`

ALTER TABLE `ps_address` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL DEFAULT 0 AFTER `id_supplier`

ALTER TABLE `ps_order_detail` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL default '0' AFTER `id_order_invoice`

ALTER TABLE `ps_stock_mvt_reason` ADD COLUMN `deleted` tinyint(1) unsigned NOT NULL default '0' AFTER `date_upd`

ALTER TABLE `ps_product` ADD COLUMN `advanced_stock_management` tinyint(1) default '0' NOT NULL

/* Update records after alter tables */ /* PHP:update_stock_mvt_reason(); */

DELETE FROM `ps_configuration` WHERE `name` = 'PS_PDF_ENCODING'

DELETE FROM `ps_configuration` WHERE `name` = 'PS_PDF_FONT'

ALTER TABLE `ps_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`, ADD `total_price_tax_incl` DECIMAL(20, 6) NOT NULL AFTER `download_deadline`, ADD `total_price_tax_excl` DECIMAL(20, 6) NOT NULL AFTER `total_price_tax_incl`, ADD `unit_price_tax_incl` DECIMAL(20, 6) NOT NULL AFTER `total_price_tax_excl`, ADD `unit_price_tax_excl` DECIMAL(20, 6) NOT NULL AFTER `unit_price_tax_incl`, ADD `total_shipping_price_tax_incl` DECIMAL(20, 6) NOT NULL AFTER `unit_price_tax_excl`, ADD `total_shipping_price_tax_excl` DECIMAL(20, 6) NOT NULL AFTER `total_shipping_price_tax_incl`, ADD `purchase_supplier_price` DECIMAL(20, 6) NOT NULL AFTER `total_shipping_price_tax_excl`, ADD `original_product_price` DECIMAL(20, 6) NOT NULL AFTER `purchase_supplier_price`

ALTER TABLE `ps_orders` ADD `total_discounts_tax_excl` decimal(17,2) NOT NULL AFTER `total_discounts`, ADD `total_discounts_tax_incl` decimal(17,2) NOT NULL AFTER `total_discounts_tax_excl`, ADD `total_paid_tax_excl` decimal(17,2) NOT NULL AFTER `total_paid`, ADD `total_paid_tax_incl` decimal(17,2) NOT NULL AFTER `total_paid_tax_excl`, ADD `total_shipping_tax_excl` decimal(17,2) NOT NULL AFTER `total_shipping`, ADD `total_shipping_tax_incl` decimal(17,2) NOT NULL AFTER `total_shipping_tax_excl`, ADD `total_wrapping_tax_excl` decimal(17,2) NOT NULL AFTER `total_wrapping`, ADD `total_wrapping_tax_incl` decimal(17,2) NOT NULL AFTER `total_wrapping_tax_excl`

ALTER TABLE `ps_order_cart_rule` ADD `value_tax_excl` DECIMAL(17, 2) NOT NULL DEFAULT '0.00'

ALTER TABLE `ps_order_cart_rule` ADD `id_order_invoice` INT NOT NULL DEFAULT '0' AFTER `id_cart_rule`

ALTER TABLE `ps_specific_price` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL AFTER `id_shop`

/* Generate order references */ /* PHP:generate_order_reference(); */

ALTER TABLE `ps_order_detail` ADD `tax_computation_method` tinyint(1) unsigned NOT NULL default '0' AFTER `product_weight`

/* PHP:migrate_orders(); */

CREATE TABLE IF NOT EXISTS `ps_linksmenutop` ( `id_link` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_shop` INT UNSIGNED NOT NULL, `new_window` TINYINT( 1 ) NOT NULL, `link` VARCHAR( 128 ) NOT NULL, INDEX (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE IF NOT EXISTS `ps_linksmenutop_lang` ( `id_link` INT NOT NULL, `id_lang` INT NOT NULL, `id_shop` INT NOT NULL, `label` VARCHAR( 128 ) NOT NULL , INDEX ( `id_link` , `id_lang`, `id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_order_invoice` ADD `delivery_number` int(0) NOT NULL DEFAULT '0' AFTER `number`

ALTER TABLE `ps_order_invoice` ADD `delivery_date` datetime AFTER `delivery_number`

INSERT INTO `ps_order_invoice` (`id_order`, `number`, `total_discount_tax_excl`, `total_discount_tax_incl`, `total_paid_tax_excl`, `total_paid_tax_incl`, `total_products`, `total_products_wt`, `total_shipping_tax_excl`, `total_shipping_tax_incl`, `total_wrapping_tax_excl`, `total_wrapping_tax_incl`, `note`, `date_add`) ( SELECT `id_order`, `invoice_number`, `total_discounts_tax_excl`, `total_discounts_tax_incl`, `total_paid_tax_excl`, `total_paid_tax_incl`, `total_products`, `total_products_wt`, `total_shipping_tax_excl`, `total_shipping_tax_incl`, `total_wrapping_tax_excl`, `total_wrapping_tax_incl`, '', `invoice_date` FROM `ps_orders` WHERE `invoice_number` != 0 )

ALTER TABLE `ps_tab` ADD `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1'

UPDATE `ps_order_detail` od SET od.`id_order_invoice` = ( SELECT oi.`id_order_invoice` FROM `ps_order_invoice` oi WHERE oi.`id_order` = od.`id_order` )

INSERT INTO `ps_order_carrier` (`id_order`, `id_carrier`, `id_order_invoice`, `weight`, `shipping_cost_tax_excl`, `shipping_cost_tax_incl`, `tracking_number`, `date_add`) ( SELECT `id_order`, `id_carrier`, ( SELECT oi.`id_order_invoice` FROM `ps_order_invoice` oi WHERE oi.`id_order` = o.`id_order` ), ( SELECT SUM(`product_weight`) FROM `ps_order_detail` od WHERE od.`id_order` = o.`id_order` ), `total_shipping_tax_excl`, `total_shipping_tax_incl`, `shipping_number`, `date_add` FROM `ps_orders` o )

INSERT INTO `ps_order_payment` (`id_order_invoice`, `id_order`, `id_currency`, `amount`, `payment_method`, `conversion_rate`, `date_add`) ( SELECT ( SELECT oi.`id_order_invoice` FROM `ps_order_invoice` oi WHERE oi.`id_order` = o.`id_order` ), o.`id_order`, o.`id_currency`, o.`total_paid_real`, o.`payment`, o.`conversion_rate`, o.`date_add` FROM `ps_orders` o LEFT JOIN `ps_order_payment` op ON (op.`id_order` = o.`id_order`) WHERE op.`id_order_payment` IS NULL )

INSERT INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_SMARTY_CONSOLE', '0', NOW(), NOW()),('PS_INVOICE_MODEL', 'invoice', NOW(), NOW())

ALTER TABLE `ps_specific_price` ADD `id_cart` INT(11) UNSIGNED NOT NULL AFTER `id_specific_price_rule`

ALTER TABLE `ps_specific_price` ADD INDEX `id_cart` (`id_cart`)

/* PHP:update_modules_multishop(); */

UPDATE `ps_tab` SET `position` = ( SELECT `position` FROM ( SELECT MAX(`position`)+1 as `position` FROM `ps_tab` WHERE `id_parent` = 0 ) tmp ) WHERE `class_name` = 'AdminStock'

UPDATE `ps_tab` SET `position` = ( SELECT `position` FROM ( SELECT MAX(`position`)+1 as `position` FROM `ps_tab` WHERE `id_parent` = 0 ) tmp ) WHERE `class_name` = 'AdminAccounting'

ALTER TABLE `ps_order_slip_detail` CHANGE `amount` `amount_tax_excl` DECIMAL( 10, 2 ) default NULL

ALTER TABLE `ps_order_slip_detail` ADD COLUMN `amount_tax_incl` DECIMAL(10,2) default NULL AFTER `amount_tax_excl`

ALTER TABLE `ps_image_type` DROP INDEX `name`
(1091) Can't DROP 'name'; check that column/key exists

ALTER TABLE `ps_image_type` ADD `id_theme` INT(11) NOT NULL AFTER `id_image_type`

ALTER TABLE `ps_image_type` ADD UNIQUE (`id_theme` ,`name`)

UPDATE `ps_image_type` SET `id_theme`=1

CREATE TABLE `ps_webservice_account_shop` ( `id_webservice_account` INT( 11 ) UNSIGNED NOT NULL, `id_shop` INT( 11 ) UNSIGNED NOT NULL, PRIMARY KEY (`id_webservice_account` , `id_shop`), KEY `id_shop` (`id_shop`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

ALTER TABLE `ps_group` ADD `show_prices` tinyint(1) unsigned NOT NULL DEFAULT '1' AFTER `price_display_method`

The store displays but not properly and the admin page does not work at all.

Any help and advice really appreciated.

Link to comment
Share on other sites

  • 2 weeks later...

I used module MigrationPro to upgrade my webshop from 1.4.9 to 1.7.3 as also I had to buy a new theme. The MigrationPro module upgraded my database without any problems and with the new theme add new (version) modules. My 1.4.9. theme was not responsive yet and now it is important to have a good working responsive design.

I only made major mis-calculation by moving my new upgrade shop to the root where my old shop was in folder "shop" which caused me destroying all my historical organic search results with Google and clicks felt down to almost zero.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...