コード例 #1
0
 private function migrate_existing_columns()
 {
     /** @var wpdb $wpdb */
     global $wpdb;
     foreach (psi_tables() as $ID => $table) {
         if (!isset($table['column'])) {
             continue;
         }
         $column = str_replace('tbl', '', $ID);
         if (self::column_exists('articles', $column)) {
             // Get all rows from the column
             $results = $wpdb->get_col("\n\t\t\t\t\tSELECT articles.{$column}\n\t\t\t\t\tFROM articles\n\t\t\t\t\t");
             if (empty($results)) {
                 continue;
             }
             $new_column = $table['column'];
             $results = array_unique($results);
             foreach ($results as $result) {
                 if (!$result) {
                     continue;
                 }
                 $wpdb->insert($ID, array($new_column => $result));
             }
         }
     }
 }
コード例 #2
0
 private function setup()
 {
     /** @var wpdb $wpdb */
     global $wpdb;
     $migrated_tables = array();
     foreach (psi_tables() as $ID => $table) {
         if (PSI_Migrate::table_exists($ID)) {
             $migrated_tables[] = $ID;
         }
     }
     if (count($migrated_tables) === 0) {
         $this->migrated = 'none';
     } elseif (count($migrated_tables) < count(psi_tables())) {
         $this->migrated = 'partial';
     } else {
         $this->migrated = 'complete';
     }
 }