[wp-hackers] dbDelta Upgrade not working
    Ajay D'Souza 
    ajaydsouza at gmail.com
       
    Wed Mar 11 05:28:03 GMT 2009
    
    
  
Hi,
I'm trying to upgrade the table structure for my plugin Top 10 to add an 
extra column to the existing table.
    // Upgrade table code
    $installed_ver = get_option( "tptn_db_version" );
    if( $installed_ver != $tptn_db_version ) {
     $sql = "CREATE TABLE " . $table_name . " (
         accessedid int NOT NULL AUTO_INCREMENT,
         postnumber int NOT NULL,
         cntaccess int NOT NULL,
         PRIMARY KEY  (accessedid)
     );";
       require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
       dbDelta($sql);
     $sql = "CREATE TABLE " . $table_name_daily . " (
         accessedid int NOT NULL AUTO_INCREMENT,
         postnumber int NOT NULL,
         cntaccess int NOT NULL,
         dp_date date NOT NULL default CURDATE(),
         PRIMARY KEY  (accessedid)
     );";
       require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
       dbDelta($sql);
       update_option( "tptn_db_version", $tptn_db_version );
   }
The extra column added is the dp_date date NOT NULL default CURDATE(), 
which isn't present in earlier versions. However, the upgrade isn't be 
processed, i.e. the extra column isn't added.
I've used the code from 
http://codex.wordpress.org/Creating_Tables_with_Plugins
The upgrade works only when I created a new table, but not to alter it.
Anybody have a clue as to why this isn't happening? Any solutions?
Thanks,
Ajay D'Souza
    
    
More information about the wp-hackers
mailing list