Results 1 to 2 of 2
  1. #1
    Join Date
    Feb 2006
    Location
    Tampa Bay, Florida
    Posts
    4,735
    Plugin Contributions
    160

    Default Mod Authors: Please read if you are creating install.sql files

    Applies to all versions.

    Please do not do this:

    Code:
    SET @configuration_group_id=0;
    SELECT @configuration_group_id:=configuration_group_id
    FROM configuration_group
    WHERE configuration_group_title= 'My Mod Name'
    LIMIT 1;
    DELETE FROM configuration WHERE configuration_group_id = @configuration_group_id;
    DELETE FROM configuration_group WHERE configuration_group_id = @configuration_group_id;
    If the mod has never been installed before, there is no such configuration group, so you wind up deleting configuration group 0.

    This produces the problem described in this thread:
    http://www.zen-cart.com/forum/showthread.php?t=170483

    To avoid this, just have a separate "uninstall.sql" file and don't include the cleanup statements in your install.sql file.

    You can tell that configuration group 0 has been deleted by looking at a product with a text field in your catalog product info page. You'll see something like this:

    <input type="text" name="id[TEXT_PREFIX72]" size="32" maxlength="300" value="" id="attrib-72-0" />

    instead of something like this:

    <input type="text" name="id[txt_72]" size="32" maxlength="300" value="" id="attrib-72-0" />

    A better way to structure your SQL if you want to clean up before you add config entries (provided by @Numinix):

    Code:
    SELECT @configuration_group_id:=configuration_group_id
    FROM configuration_group
    WHERE configuration_group_title= 'YOUR-FEATURE-NAME'
    LIMIT 1;
    DELETE FROM configuration WHERE configuration_group_id = @configuration_group_id AND configuration_group_id != 0;
    DELETE FROM configuration_group WHERE configuration_group_id = @configuration_group_id AND configuration_group_id != 0;
    Last edited by swguy; 24 Apr 2012 at 01:59 PM.
    That Software Guy, Plugin Moderator. Store: http://www.thatsoftwareguy.com/store/
    Contributions: Quantity Discounts, Better Together, SMS on Sale, Gift Wrap at Checkout, and more.

  2. #2
    Join Date
    Apr 2007
    Location
    Vancouver, Canada
    Posts
    1,392
    Plugin Contributions
    61

    Default Re: Mod Authors: Please read if you are creating install.sql files

    Please also do not blindly insert values into the configuration table, or any table for that matter. Always specify the column names.

    Good example:

    PHP Code:
    INSERT INTO configuration (configuration_idconfiguration_titleconfiguration_keyconfiguration_valueconfiguration_descriptionconfiguration_group_idsort_orderdate_addeduse_functionset_functionVALUES (NULL'Version''CSFB_VERSION''1.0.0''Version installed:'" . $configuration_group_id . "0NOW(), NULLNULL); 
    Bad Example:

    PHP Code:
    INSERT INTO configuration VALUES (NULL'Version''CSFB_VERSION''1.0.0''Version  installed:'" . $configuration_group_id . "0NOW(), NULLNULL); 

 

 

Similar Threads

  1. my download is faulty - Missing files! Please read...
    By mjmindustrial in forum Installing on a Linux/Unix Server
    Replies: 5
    Last Post: 29 Jul 2011, 10:26 AM
  2. Creating the configure.php files
    By twoturtles in forum Templates, Stylesheets, Page Layout
    Replies: 1
    Last Post: 25 Aug 2009, 10:02 PM
  3. Admin is now READ ONLY.. (didn't install the patch correctly)
    By sneakysnier in forum General Questions
    Replies: 12
    Last Post: 5 Jul 2009, 02:41 AM
  4. Replies: 1
    Last Post: 28 Jun 2007, 02:48 AM

Bookmarks

Posting Permissions

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