PHP

Opencart 2.X 升级 3.X

2018-01-27  本文已影响255人  ___n

先下载3.x版本文件进行安装,然后同步数据到新的数据库

注意下面的表是需要变动的,同步时可以先不同步下面的表

ALTER TABLE `oc_setting` 
  MODIFY COLUMN `code` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `store_id`,
  MODIFY COLUMN `key` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `code`;

ALTER TABLE `oc_theme` 
  MODIFY COLUMN `code` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `route`,
  ADD COLUMN `date_added` datetime NOT NULL AFTER `code`;

ALTER TABLE `oc_translation` 
    ADD COLUMN `date_added` datetime NOT NULL AFTER `value`;

ALTER TABLE `oc_api` 
  CHANGE  `name` `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

ALTER TABLE `oc_api_session` 
    DROP COLUMN `token`,
    DROP COLUMN `session_name`;

ALTER TABLE `oc_currency` 
    MODIFY COLUMN `value` double(15,8)  NOT NULL AFTER `decimal_place`;

ALTER TABLE `oc_custom_field` 
    MODIFY COLUMN `location` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `validation`;

ALTER TABLE `oc_customer` 
    DROP COLUMN `approved`;

ALTER TABLE `oc_event` 
    DROP COLUMN `date_added`,
    MODIFY COLUMN `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `event_id`,
    ADD COLUMN `sort_order` int(3) NOT NULL AFTER `status`;

UPDATE `oc_event` SET sort_order = 0;

ALTER TABLE `oc_geo_zone` 
    MODIFY COLUMN `date_added` datetime NOT NULL AFTER `description`,
    MODIFY COLUMN `date_modified` datetime NOT NULL AFTER `date_added`;

ALTER TABLE `oc_information_description` 
    MODIFY COLUMN `description` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `title`;

ALTER TABLE `oc_modification` 
    ADD COLUMN `extension_install_id` int(11) NOT NULL AFTER `modification_id`;

ALTER TABLE `oc_order_product` 
    ADD KEY `order_id`(`order_id`) USING BTREE;

CREATE TABLE `oc_seo_url` (
  `seo_url_id` int(11) NOT NULL AUTO_INCREMENT,
  `store_id` int(11) NOT NULL,
  `language_id` int(11) NOT NULL,
  `query` varchar(255) NOT NULL,
  `keyword` varchar(255) NOT NULL,
  PRIMARY KEY (`seo_url_id`),
  KEY `query` (`query`),
  KEY `keyword` (`keyword`)
) ENGINE=InnoDB AUTO_INCREMENT=844 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_session` (
  `session_id` varchar(32) NOT NULL,
  `data` text NOT NULL,
  `expire` datetime NOT NULL,
  PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `oc_shipping_courier` (
  `shipping_courier_id` int(11) NOT NULL,
  `shipping_courier_code` varchar(255) NOT NULL DEFAULT '',
  `shipping_courier_name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`shipping_courier_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_statistics` (
  `statistics_id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(64) NOT NULL,
  `value` decimal(15,4) NOT NULL,
  PRIMARY KEY (`statistics_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_customer_affiliate` (
  `customer_id` int(11) NOT NULL,
  `company` varchar(40) NOT NULL,
  `website` varchar(255) NOT NULL,
  `tracking` varchar(64) NOT NULL,
  `commission` decimal(4,2) NOT NULL DEFAULT '0.00',
  `tax` varchar(64) NOT NULL,
  `payment` varchar(6) NOT NULL,
  `cheque` varchar(100) NOT NULL,
  `paypal` varchar(64) NOT NULL,
  `bank_name` varchar(64) NOT NULL,
  `bank_branch_number` varchar(64) NOT NULL,
  `bank_swift_code` varchar(64) NOT NULL,
  `bank_account_name` varchar(64) NOT NULL,
  `bank_account_number` varchar(64) NOT NULL,
  `custom_field` text NOT NULL,
  `status` tinyint(1) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`customer_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_customer_approval` (
  `customer_approval_id` int(11) NOT NULL AUTO_INCREMENT,
  `customer_id` int(11) NOT NULL,
  `type` varchar(9) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`customer_approval_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_extension_install` (
  `extension_install_id` int(11) NOT NULL AUTO_INCREMENT,
  `extension_download_id` int(11) NOT NULL,
  `filename` varchar(255) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`extension_install_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_extension_path` (
  `extension_path_id` int(11) NOT NULL AUTO_INCREMENT,
  `extension_install_id` int(11) NOT NULL,
  `path` varchar(255) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`extension_path_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

CREATE TABLE `oc_order_shipment` (
  `order_shipment_id` int(11) NOT NULL AUTO_INCREMENT,
  `order_id` int(11) NOT NULL,
  `date_added` datetime NOT NULL,
  `shipping_courier_id` varchar(255) NOT NULL DEFAULT '',
  `tracking_number` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`order_shipment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;


# 如果没有装插件,就没有一些多余的库,下面的库是需要删除的,删除的时候注意里面的数据有没有用。

DROP TABLE `oc_affiliate`;
DROP TABLE `oc_order_custom_field`;
DROP TABLE `oc_menu_module`;
DROP TABLE `oc_url_alias`;
DROP TABLE `oc_menu_description`;
DROP TABLE `oc_menu`;
DROP TABLE `oc_affiliate_login`;
DROP TABLE `oc_affiliate_transaction`;
DROP TABLE `oc_affiliate_activity`;
DROP TABLE `oc_cardinity_order`;
DROP TABLE `oc_amazon_login_pay_order`;
DROP TABLE `oc_g2apay_order_transaction`;
DROP TABLE `oc_amazon_login_pay_order_total_tax`;
DROP TABLE `oc_globalpay_order_transaction`;
DROP TABLE `oc_globalpay_order`;
DROP TABLE `oc_amazon_login_pay_order_transaction`;
DROP TABLE `oc_g2apay_order`;
DROP TABLE `oc_globalpay_remote_order`;
DROP TABLE `oc_globalpay_remote_order_transaction`;



完成已后记得 把 oc_setting > config_theme 值改为 default , 还有把插件管理里面的模板删掉,重新添加一下

上一篇 下一篇

猜你喜欢

热点阅读