[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path Zen Cart 源代码 mysql_upgrade_zencart_137_to_138.sql
#
# * This SQL script upgrades the core Zen Cart database structure from v1.3.7 to v1.3.8
# *
# * @package Installer
# * @access private
# * @copyright Copyright 2003-2007 Zen Cart Development Team
# * @copyright Portions Copyright 2003 osCommerce
# * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
# * @version $Id: mysql_upgrade_zencart_137_to_138.sql 15140 2009-12-31 04:17:24Z drbyte $
#
################### 重要说明 ######################
#
# * Zen Cart 通过 zc_install/index.php 程序来升级数据库
# * 本SQL脚步仅用于从 zc_install 下执行
# * * 不 * 建议通过其它工具执行
# * 例如: 不要用 phpMyAdmin 或 Zen Cart 管理页面的 SQL 脚本工具执行
# * zc_install 程序会检测到可能的问题/错误,并自动处理表前缀
# *
# * 使用 zc_install 程序升级数据库:
# * a. 上传最新的 zc_install 目录到服务器
# * b. 通过浏览器打开 zc_install/index.php
# * c. 在系统检测页面的最下面,点击升级数据库
# * 说明: 不要点击 "安装" 按钮,否则将清空您的数据库。
# * d. 在数据库升级页面,有不同 Zen Cart 版本的选项,
# * 推荐的升级选项已选中。
# * e. 核对选项后,输入 Zen Cart 的管理员用户名和密码,
# * 然后点击升级按钮。
# * f. 如果有错误,将显示,一些警告信息可以跳过。
# * g. 结束后,将转到安装完成页面。
#
#####################################################
#Change Canada's code for Newfoundland from NF to NL, according to 2002 ISO standards change.
UPDATE zones SET zone_code = 'NL' where zone_country_id = 38 and zone_name = 'Newfoundland';
#已注册但从未购物的客户
INSERT INTO query_builder (query_category, query_name, query_description, query_string, query_keys_list) VALUES ('email,newsletters', '从未购物的客户', '发给已注册但从未购物的客户', 'SELECT DISTINCT c.customers_email_address as customers_email_address, c.customers_lastname as customers_lastname, c.customers_firstname as customers_firstname FROM TABLE_CUSTOMERS c LEFT JOIN TABLE_ORDERS o ON c.customers_id=o.customers_id WHERE o.date_purchased IS NULL', '');
#admin
ALTER TABLE admin_activity_log CHANGE page_parameters page_parameters text;
#Allow for viewing
ALTER TABLE orders_products_attributes CHANGE products_options_values products_options_values text NOT NULL;
## PP EC table structure fixes ... needed longer fields in several cases for storing archive data and keep structures in sync
ALTER TABLE paypal CHANGE txn_type txn_type varchar(40) NOT NULL default '';
ALTER TABLE paypal CHANGE reason_code reason_code varchar(40) default NULL;
ALTER TABLE paypal CHANGE payment_type payment_type varchar(40) NOT NULL default '';
ALTER TABLE paypal CHANGE payment_status payment_status varchar(32) NOT NULL default '';
ALTER TABLE paypal CHANGE pending_reason pending_reason varchar(32) default NULL;
ALTER TABLE paypal CHANGE invoice invoice varchar(128) default NULL;
ALTER TABLE paypal CHANGE payer_business_name payer_business_name varchar(128) default NULL;
ALTER TABLE paypal CHANGE address_name address_name varchar(64) default NULL;
ALTER TABLE paypal CHANGE address_street address_street varchar(254) default NULL;
ALTER TABLE paypal CHANGE address_city address_city varchar(120) default NULL;
ALTER TABLE paypal CHANGE address_state address_state varchar(120) default NULL;
ALTER TABLE paypal CHANGE payer_email payer_email varchar(128) NOT NULL default '';
ALTER TABLE paypal CHANGE business business varchar(128) NOT NULL default '';
ALTER TABLE paypal CHANGE receiver_email receiver_email varchar(128) NOT NULL default '';
ALTER TABLE paypal CHANGE txn_id txn_id varchar(20) NOT NULL default '';
ALTER TABLE paypal CHANGE parent_txn_id parent_txn_id varchar(20) default NULL;
ALTER TABLE paypal ADD COLUMN module_name varchar(40) NOT NULL default '' after txn_type;
ALTER TABLE paypal ADD COLUMN module_mode varchar(40) NOT NULL default '' after module_name;
ALTER TABLE paypal_testing CHANGE txn_type txn_type varchar(40) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE reason_code reason_code varchar(40) default NULL;
ALTER TABLE paypal_testing CHANGE payment_type payment_type varchar(40) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE payment_status payment_status varchar(32) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE pending_reason pending_reason varchar(32) default NULL;
ALTER TABLE paypal_testing CHANGE invoice invoice varchar(128) default NULL;
ALTER TABLE paypal_testing CHANGE payer_business_name payer_business_name varchar(128) default NULL;
ALTER TABLE paypal_testing CHANGE address_name address_name varchar(64) default NULL;
ALTER TABLE paypal_testing CHANGE address_street address_street varchar(254) default NULL;
ALTER TABLE paypal_testing CHANGE address_city address_city varchar(120) default NULL;
ALTER TABLE paypal_testing CHANGE address_state address_state varchar(120) default NULL;
ALTER TABLE paypal_testing CHANGE payer_email payer_email varchar(128) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE business business varchar(128) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE receiver_email receiver_email varchar(128) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE txn_id txn_id varchar(20) NOT NULL default '';
ALTER TABLE paypal_testing CHANGE parent_txn_id parent_txn_id varchar(20) default NULL;
ALTER TABLE paypal_testing ADD COLUMN module_name varchar(40) NOT NULL default '' after txn_type;
ALTER TABLE paypal_testing ADD COLUMN module_mode varchar(40) NOT NULL default '' after module_name;
ALTER TABLE paypal_session CHANGE saved_session saved_session mediumblob NOT NULL;
# Change TEXT field to varchar(50) since TEXT was a waste of space
ALTER TABLE authorizenet CHANGE authorization_type authorization_type varchar(50) NOT NULL default '';
# change cache tracking size
TRUNCATE TABLE db_cache;
ALTER TABLE db_cache CHANGE cache_data cache_data mediumblob;
TRUNCATE TABLE sessions;
ALTER TABLE sessions CHANGE value value mediumblob NOT NULL;
#### VERSION UPDATE COMMANDS
## THE FOLLOWING 2 SECTIONS SHOULD BE THE "LAST" ITEMS IN THE FILE, so that if the upgrade fails prematurely, the version info is not updated.
##The following updates the version HISTORY to store the prior version's info (Essentially "moves" the prior version info from the "project_version" to "project_version_history" table
#NEXT_X_ROWS_AS_ONE_COMMAND:3
INSERT INTO project_version_history (project_version_key, project_version_major, project_version_minor, project_version_patch, project_version_date_applied, project_version_comment)
SELECT project_version_key, project_version_major, project_version_minor, project_version_patch1 as project_version_patch, project_version_date_applied, project_version_comment
FROM project_version;
## Now set to new version
UPDATE project_version SET project_version_major='1', project_version_minor='3.8', project_version_patch1='', project_version_patch1_source='', project_version_patch2='', project_version_patch2_source='', project_version_comment='Version Update 1.3.7->1.3.8', project_version_date_applied=now() WHERE project_version_key = 'Zen-Cart Main';
UPDATE project_version SET project_version_major='1', project_version_minor='3.8', project_version_patch1='', project_version_patch1_source='', project_version_patch2='', project_version_patch2_source='', project_version_comment='Version Update 1.3.7->1.3.8', project_version_date_applied=now() WHERE project_version_key = 'Zen-Cart Database';
### LEFT FOR END IN CASE ERRORS ARE ENCOUNTERED:
#rename zen_order_id field to order_id to minimize confusion for folks who decide to manually edit their databases
ALTER TABLE paypal CHANGE COLUMN zen_order_id order_id int(11) NOT NULL default '0';
ALTER TABLE paypal_testing CHANGE COLUMN zen_order_id order_id int(11) NOT NULL default '0';
ALTER TABLE linkpoint_api CHANGE COLUMN zen_order_id order_id int(11) NOT NULL default '0';