resources: Collapse all jQuery UI modules into one deprecated mega-module
[lhc/web/wiklou.git] / maintenance / migrateComments.php
index cdecab0..8025df1 100644 (file)
@@ -47,23 +47,12 @@ class MigrateComments extends LoggedUpdateMaintenance {
        }
 
        protected function doDBUpdates() {
-               global $wgCommentTableSchemaMigrationStage;
-
-               if ( $wgCommentTableSchemaMigrationStage < MIGRATION_WRITE_NEW ) {
-                       $this->output(
-                               "...cannot update while \$wgCommentTableSchemaMigrationStage < MIGRATION_WRITE_NEW\n"
-                       );
-                       return false;
-               }
-
                $this->migrateToTemp(
                        'revision', 'rev_id', 'rev_comment', 'revcomment_rev', 'revcomment_comment_id'
                );
                $this->migrate( 'archive', 'ar_id', 'ar_comment' );
                $this->migrate( 'ipblocks', 'ipb_id', 'ipb_reason' );
-               $this->migrateToTemp(
-                       'image', 'img_name', 'img_description', 'imgcomment_name', 'imgcomment_description_id'
-               );
+               $this->migrate( 'image', 'img_name', 'img_description' );
                $this->migrate( 'oldimage', [ 'oi_name', 'oi_timestamp' ], 'oi_description' );
                $this->migrate( 'filearchive', 'fa_id', 'fa_deleted_reason' );
                $this->migrate( 'filearchive', 'fa_id', 'fa_description' );
@@ -140,13 +129,18 @@ class MigrateComments extends LoggedUpdateMaintenance {
         * @param string $oldField Old comment field name
         */
        protected function migrate( $table, $primaryKey, $oldField ) {
+               $dbw = $this->getDB( DB_MASTER );
+               if ( !$dbw->fieldExists( $table, $oldField, __METHOD__ ) ) {
+                       $this->output( "No need to migrate $table.$oldField, field does not exist\n" );
+                       return;
+               }
+
                $newField = $oldField . '_id';
                $primaryKey = (array)$primaryKey;
                $pkFilter = array_flip( $primaryKey );
                $this->output( "Beginning migration of $table.$oldField to $table.$newField\n" );
                wfWaitForSlaves();
 
-               $dbw = $this->getDB( DB_MASTER );
                $next = '1=1';
                $countUpdated = 0;
                $countComments = 0;
@@ -231,6 +225,12 @@ class MigrateComments extends LoggedUpdateMaintenance {
         * @param string $newField New comment field name
         */
        protected function migrateToTemp( $table, $primaryKey, $oldField, $newPrimaryKey, $newField ) {
+               $dbw = $this->getDB( DB_MASTER );
+               if ( !$dbw->fieldExists( $table, $oldField, __METHOD__ ) ) {
+                       $this->output( "No need to migrate $table.$oldField, field does not exist\n" );
+                       return;
+               }
+
                $newTable = $table . '_comment_temp';
                $this->output( "Beginning migration of $table.$oldField to $newTable.$newField\n" );
                wfWaitForSlaves();