美文网首页PHP
Opencart 2.X 升级 3.X

Opencart 2.X 升级 3.X

作者: ___n | 来源:发表于2018-01-27 16:09 被阅读255次

    先下载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 , 还有把插件管理里面的模板删掉,重新添加一下

    相关文章

      网友评论

        本文标题:Opencart 2.X 升级 3.X

        本文链接:https://www.haomeiwen.com/subject/yzinaxtx.html