Make WordPress Core

Ticket #26801: 26801.diff

File 26801.diff, 1.0 KB (added by toszcze, 11 years ago)
  • wp-admin/includes/upgrade.php

     
    16131613                                $cfields[strtolower($fieldname)] = trim($fld, ", \n");
    16141614                        }
    16151615                }
     1616               
     1617                // Check if columns that don't exist in the creation queries should be dropped
     1618                $drop_columns = apply_filters( 'dbdelta_drop_columns', false );
    16161619
    16171620                // For every field in the table
    16181621                foreach ($tablefields as $tablefield) {
     
    16431646                                // Remove the field from the array (so it's not added)
    16441647                                unset($cfields[strtolower($tablefield->Field)]);
    16451648                        } else {
    1646                                 // This field exists in the table, but not in the creation queries?
     1649                                // This field exists in the table, but not in the creation queries
     1650                                if ( $drop_columns ) {
     1651                                        $cqueries[] = "ALTER TABLE {$table} DROP COLUMN {$tablefield->Field}";
     1652                                        $for_update[$table.'.'.$tablefield->Field] = "Dropped {$table}.{$tablefield->Field}";
     1653                                }
    16471654                        }
    16481655                }
    16491656