Results 1 to 6 of 6

Hybrid View

  1. #1
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Dropdown attributes may not appear after database upgrade.

    So, if one uses INSERT IGNORE as a SQL command, the following should work if one wanted to use the SQL Patch tool, or phpMyAdmin:

    Code:
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', 6, NULL, now(), now(), NULL, NULL);
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', 6, NULL, now(), now(), NULL, NULL);
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', 6, NULL, now(), now(), NULL, NULL);
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  2. #2
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    13,949
    Plugin Contributions
    96

    Default Re: Dropdown attributes may not appear after database upgrade.

    Wouldn't it be "better" to update the zc_install's mysql_upgrade_zencart_155.sql to include those statements?
    Code:
    #
    # * This SQL script upgrades the core Zen Cart database structure from v1.5.4 to v1.5.5
    # *
    # * @package Installer
    # * @access private
    # * @copyright Copyright 2003-2016 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: Author: DrByte  Tue Jan 12 12:52:48 2016 -0500 New in v1.5.5 $
    #
    
    ############ IMPORTANT INSTRUCTIONS ###############
    #
    # * Zen Cart uses the zc_install/index.php program to do database upgrades
    # * This SQL script is intended to be used by running zc_install
    # * It is *not* recommended to simply run these statements manually via any other means
    # * ie: not via phpMyAdmin or via the Install SQL Patch tool in Zen Cart admin
    # * The zc_install program catches possible problems and also handles table-prefixes automatically
    # *
    # * To use the zc_install program to do your database upgrade:
    # * a. Upload the NEWEST zc_install folder to your server
    # * b. Surf to zc_install/index.php via your browser
    # * c. On the System Inspection page, scroll to the bottom and click on Database Upgrade
    # *    NOTE: do NOT click on the "Install" button, because that will erase your database.
    # * d. On the Database Upgrade screen, you will be presented with a list of checkboxes for
    # *    various Zen Cart versions, with the recommended upgrades already pre-selected.
    # * e. Verify the checkboxes, then scroll down and enter your Zen Cart Admin username
    # *    and password, and then click on the Upgrade button.
    # * f. If any errors occur, you will be notified.  Some warnings can be ignored.
    # * g. When done, you will be taken to the Finished page.
    #
    #####################################################
    
    # Set store to Down-For-Maintenance mode.  Must reset manually via admin after upgrade is done.
    #UPDATE configuration set configuration_value = 'true' where configuration_key = 'DOWN_FOR_MAINTENANCE';
    
    # Clear out active customer sessions
    TRUNCATE TABLE whos_online;
    TRUNCATE TABLE db_cache;
    
    UPDATE configuration set configuration_group_id = 6 where configuration_key in ('PRODUCTS_OPTIONS_TYPE_SELECT', 'UPLOAD_PREFIX', 'TEXT_PREFIX');
    
    UPDATE countries set countries_name = 'Åland Islands' where countries_iso_code_3 = 'ALA';
    UPDATE countries set countries_name = 'Réunion' where countries_iso_code_3 = 'REU';
    UPDATE countries set countries_name = "Côte d'Ivoire" where countries_iso_code_3 = 'CIV';
    UPDATE countries set countries_name = 'Bonaire, Sint Eustatius and Saba', countries_iso_code_2 = 'BQ', countries_iso_code_3 = 'BES' WHERE countries_iso_code_3 = 'ANT';
    INSERT INTO countries (countries_id, countries_name, countries_iso_code_2, countries_iso_code_3, address_format_id) VALUES (247,'Curaçao','CW','CUW','1');
    INSERT INTO countries (countries_id, countries_name, countries_iso_code_2, countries_iso_code_3, address_format_id) VALUES (248,'Sint Maarten (Dutch part)','SX','SXM','1');
    
    UPDATE configuration SET configuration_title='Credit Card Enable Status - Debit', configuration_key = 'CC_ENABLED_DEBIT', configuration_value ='0', configuration_description='Accept Debit Cards 0= off 1= on<br>NOTE: This is not deeply integrated at this time, and this setting may be redundant if your payment modules do not yet specifically have code to honour this switch.', date_added=now() WHERE configuration_key='CC_ENABLED_SWITCH';
    
    UPDATE configuration set configuration_title = 'Enable HTML Emails?', configuration_description = 'Send emails in HTML format if recipient has enabled it in their preferences.' WHERE configuration_key = 'EMAIL_USE_HTML';
    UPDATE configuration set configuration_title = 'Email Admin Format?', configuration_description = 'Please select the Admin extra email format (Note: Enable HTML Emails must be on for HTML option to work)' WHERE configuration_key = 'ADMIN_EXTRA_EMAIL_FORMAT';
    
    UPDATE configuration SET configuration_title='Prev/Next Navigation Page Links (Desktop)', configuration_description='Number of numbered pagination links to display.' WHERE configuration_key = 'MAX_DISPLAY_PAGE_LINKS';
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Prev/Next Navigation Page Links (Mobile)', 'MAX_DISPLAY_PAGE_LINKS_MOBILE', '3', 'Number of numbered pagination links to display on Mobile devices (assuming your template supports mobile-specific settings)', '3', '3', now());
    
    UPDATE configuration set sort_order = '1', configuration_description = 'Send out e-mails?<br>Normally this is set to true.<br>Set to false to suppress ALL outgoing email messages from this store, such as when working with a test copy of your store offline.' WHERE configuration_key = 'SEND_EMAILS';
    UPDATE configuration set sort_order = '2', configuration_description = 'Defines the method for sending mail.<br /><strong>PHP</strong> is the default, and uses built-in PHP wrappers for processing.<br />Servers running on Windows and MacOS should change this setting to <strong>SMTP</strong>.<br /><br /><strong>SMTPAUTH</strong> should be used if your server requires SMTP authorization to send messages. You must also configure your SMTPAUTH settings in the appropriate fields in this admin section.<br /><br /><strong>sendmail</strong> is for linux/unix hosts using the sendmail program on the server<br /><strong>"sendmail-f"</strong> is only for servers which require the use of the -f parameter to send mail. This is a security setting often used to prevent spoofing. Will cause errors if your host mailserver is not configured to use it.<br /><br /><strong>Qmail</strong> is mostly obsolete and only used for linux/unix hosts running Qmail as sendmail wrapper at /var/qmail/bin/sendmail.' WHERE configuration_key = 'EMAIL_TRANSPORT';
    UPDATE configuration set configuration_description = 'Enter the IP port number that your SMTP mailserver operates on.<br />Only required if using SMTP Authentication for email.<br><br>Default: 25<br>Typical values are:<br>25 - normal unencrypted SMTP<br>587 - encrypted SMTP<br>465 - older MS SMTP port' WHERE configuration_key = 'EMAIL_SMTPAUTH_MAIL_SERVER_PORT';
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Currency Exchange Rate: Primary Source', 'CURRENCY_SERVER_PRIMARY', 'ecb', 'Where to request external currency updates from (Primary source)<br><br>Additional sources can be installed via plugins.', '1', '55', 'zen_cfg_pull_down_exchange_rate_sources(', now());
    INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Currency Exchange Rate: Secondary Source', 'CURRENCY_SERVER_BACKUP', 'boc', 'Where to request external currency updates from (Secondary source)<br><br>Additional sources can be installed via plugins.', '1', '55', 'zen_cfg_pull_down_exchange_rate_sources(', now());
    DELETE FROM configuration where configuration_key = 'PHPBB_LINKS_ENABLED' && configuration_value != 'true';
    
    UPDATE configuration_group SET configuration_group_description = 'Define Pages Options Settings' where configuration_group_title = 'Define Page Status';
    
    
    ALTER TABLE paypal_payment_status_history MODIFY pending_reason varchar(32) default NULL;
    ALTER TABLE coupons_description MODIFY coupon_name VARCHAR(64) NOT NULL DEFAULT '';
    ALTER TABLE orders MODIFY shipping_method VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin MODIFY COLUMN pwd_last_change_date datetime NOT NULL default '0001-01-01 00:00:00';
    ALTER TABLE admin MODIFY COLUMN last_modified datetime NOT NULL default '0001-01-01 00:00:00';
    ALTER TABLE admin MODIFY COLUMN last_login_date datetime NOT NULL default '0001-01-01 00:00:00';
    ALTER TABLE admin MODIFY COLUMN last_failed_attempt datetime NOT NULL default '0001-01-01 00:00:00';
    ALTER TABLE admin MODIFY admin_pass VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE admin MODIFY prev_pass1 VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE admin MODIFY prev_pass2 VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE admin MODIFY prev_pass3 VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE admin MODIFY reset_token VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE customers MODIFY customers_password VARCHAR( 255 ) NOT NULL DEFAULT '';
    ALTER TABLE sessions MODIFY sesskey varchar(255) NOT NULL default '';
    ALTER TABLE whos_online MODIFY session_id varchar(255) NOT NULL default '';
    ALTER TABLE admin_menus MODIFY menu_key VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_pages MODIFY page_key VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_pages MODIFY main_page VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_pages MODIFY page_params VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_pages MODIFY menu_key VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_profiles MODIFY profile_name VARCHAR(255) NOT NULL DEFAULT '';
    ALTER TABLE admin_pages_to_profiles MODIFY page_key varchar(255) NOT NULL default '';
    
    ALTER TABLE currencies MODIFY symbol_left VARCHAR(32) DEFAULT NULL;
    ALTER TABLE currencies MODIFY symbol_right VARCHAR(32) DEFAULT NULL;
    
    ALTER TABLE counter_history MODIFY startdate char(8) NOT NULL default '';
    
    UPDATE query_builder set query_string = 'select max(o.date_purchased) as date_purchased, c.customers_email_address, c.customers_lastname, c.customers_firstname from TABLE_CUSTOMERS c, TABLE_ORDERS o WHERE c.customers_id = o.customers_id AND c.customers_newsletter = 1 GROUP BY c.customers_email_address, c.customers_lastname, c.customers_firstname HAVING max(o.date_purchased) <= subdate(now(),INTERVAL 3 MONTH) ORDER BY c.customers_lastname, c.customers_firstname ASC' where query_name='Dormant Customers (>3months) (Subscribers)';
    UPDATE query_builder set query_string = 'select c.customers_email_address, c.customers_lastname, c.customers_firstname from TABLE_CUSTOMERS c, TABLE_ORDERS o where c.customers_newsletter = \'1\' AND c.customers_id = o.customers_id and o.date_purchased > subdate(now(),INTERVAL 3 MONTH) GROUP BY c.customers_email_address, c.customers_lastname, c.customers_firstname order by c.customers_lastname, c.customers_firstname ASC' where query_name='Active customers in past 3 months (Subscribers)';
    UPDATE query_builder set query_string = 'select c.customers_email_address, c.customers_lastname, c.customers_firstname from TABLE_CUSTOMERS c, TABLE_ORDERS o WHERE c.customers_id = o.customers_id and o.date_purchased > subdate(now(),INTERVAL 3 MONTH) GROUP BY c.customers_email_address, c.customers_lastname, c.customers_firstname order by c.customers_lastname, c.customers_firstname ASC' where query_name='Active customers in past 3 months (Regardless of subscription status)';
    
    ALTER TABLE products_description MODIFY products_id int(11) NOT NULL;
    
    
    # Insert a default profile for managing orders, as a built-in example of profile functionality
    INSERT INTO admin_profiles (profile_name) values ('Order Processing');
    SET @profile_id=last_insert_id();
    INSERT INTO admin_pages_to_profiles (profile_id, page_key) VALUES
    (@profile_id, 'customers'),
    (@profile_id, 'orders'),
    (@profile_id, 'invoice'),
    (@profile_id, 'packingslip'),
    (@profile_id, 'paypal'),
    (@profile_id, 'currencies'),
    (@profile_id, 'reportCustomers'),
    (@profile_id, 'reportLowStock'),
    (@profile_id, 'reportProductsSold'),
    (@profile_id, 'reportProductsViewed'),
    (@profile_id, 'reportReferrals'),
    (@profile_id, 'gvMail'),
    (@profile_id, 'gvQueue'),
    (@profile_id, 'gvSent'),
    (@profile_id, 'whosOnline');
    
    #
    ## Make sure that the "hidden" constants for the options' types are present in the database.
    #
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', 6, NULL, now(), now(), NULL, NULL);
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', 6, NULL, now(), now(), NULL, NULL);
    INSERT IGNORE INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', 6, NULL, now(), now(), NULL, NULL);
    
    #############
    
    #### VERSION UPDATE STATEMENTS
    ## 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 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='5.5', project_version_patch1='', project_version_patch1_source='', project_version_patch2='', project_version_patch2_source='', project_version_comment='Version Update 1.5.4->1.5.5', project_version_date_applied=now() WHERE project_version_key = 'Zen-Cart Main';
    UPDATE project_version SET project_version_major='1', project_version_minor='5.5', project_version_patch1='', project_version_patch1_source='', project_version_patch2='', project_version_patch2_source='', project_version_comment='Version Update 1.5.4->1.5.5', project_version_date_applied=now() WHERE project_version_key = 'Zen-Cart Database';
    
    #####  END OF UPGRADE SCRIPT

  3. #3
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    13,949
    Plugin Contributions
    96

    Default Re: Dropdown attributes may not appear after database upgrade.

    Please note that the comment in the above post (which I'm not able to edit) needs to have the single- and double-quotes removed!!!

  4. #4
    Join Date
    Feb 2007
    Location
    Pennsylvania
    Posts
    109
    Plugin Contributions
    0

    Default Re: Dropdown attributes may not appear after database upgrade.

    Excellent. Worked perfect.
    Thanks

  5. #5
    Join Date
    Jan 2004
    Posts
    66,446
    Plugin Contributions
    81

    Default Re: Dropdown attributes may not appear after database upgrade.

    Quote Originally Posted by lat9 View Post
    Wouldn't it be "better" to update the zc_install's mysql_upgrade_zencart_155.sql to include those statements?
    Well, that was the plan, but I was hoping for feedback from folks who tested it out.
    Unless other changes are made to zc_install PHP code, the "IGNORE" word will need to be removed in order for those lines to work as part of an upgrade.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

 

 

Similar Threads

  1. v155 shipping tax calculation error after upgrade to v155
    By earmsby in forum Currencies & Sales Taxes, VAT, GST, etc.
    Replies: 3
    Last Post: 21 Jul 2016, 07:32 PM
  2. v155 [Done v155] Upgrade of config files sets ssl to true
    By badarac in forum Bug Reports
    Replies: 2
    Last Post: 22 Mar 2016, 12:46 PM
  3. Replies: 12
    Last Post: 26 Jun 2013, 02:14 AM
  4. Problem with database may as well upgrade?
    By pb4 in forum Upgrading from 1.3.x to 1.3.9
    Replies: 3
    Last Post: 18 May 2010, 01:07 PM
  5. Replies: 25
    Last Post: 15 May 2010, 06:20 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg