예제 #1
0
 public static function quickUpgrade($table)
 {
     $oldTable = $GLOBALS['db']->GetAll("describe {$table}");
     $newTable = $GLOBALS['db']->GetAll("describe install_{$table}");
     $changed = false;
     if (sizeof($newTable) != sizeof($oldTable)) {
         $changed = true;
     }
     foreach ($oldTable as $key => $value) {
         if (array_diff($oldTable[$key], $newTable[$key]) || array_diff($newTable[$key], $oldTable[$key])) {
             $changed = true;
         }
     }
     $oldTableIndexes = $GLOBALS['db']->GetAll("show indexes from {$table}");
     $newTableIndexes = $GLOBALS['db']->GetAll("show indexes from install_{$table}");
     if (sizeof($newTableIndexes) != sizeof($oldTableIndexes)) {
         $changed = true;
     }
     if ($changed) {
         Installation::updateDBTable($table, "install_" . $table);
     }
     return $changed;
 }