X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=maintenance%2FmigrateComments.php;h=8025df1f672b21733971aac0a49f3e702f19a4e1;hp=cdecab03c3fdcb9bd2d6be74d61ee8f02aa7df80;hb=7afced64454ad30d688540f7626448ac2faefebb;hpb=099cbf9225906c405558bba4d66895094ba54cc0 diff --git a/maintenance/migrateComments.php b/maintenance/migrateComments.php index cdecab03c3..8025df1f67 100644 --- a/maintenance/migrateComments.php +++ b/maintenance/migrateComments.php @@ -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();