Merge "Move around "ا" to after "آ" and not before"
[lhc/web/wiklou.git] / includes / installer / DatabaseUpdater.php
index 7b6ac5e..752bc54 100644 (file)
@@ -83,7 +83,8 @@ abstract class DatabaseUpdater {
                FixDefaultJsonContentPages::class,
                CleanupEmptyCategories::class,
                AddRFCAndPMIDInterwiki::class,
-               PopulatePPSortKey::class
+               PopulatePPSortKey::class,
+               PopulateIpChanges::class,
        ];
 
        /**
@@ -106,7 +107,7 @@ abstract class DatabaseUpdater {
        protected $holdContentHandlerUseDB = true;
 
        /**
-        * @param Database $db To perform updates on
+        * @param Database &$db To perform updates on
         * @param bool $shared Whether to perform updates on shared tables
         * @param Maintenance $maintenance Maintenance object which created us
         */
@@ -940,10 +941,10 @@ abstract class DatabaseUpdater {
         *
         * @param string $table Name of the table to modify
         * @param string $patch Name of the patch file to apply
-        * @param string $fullpath Whether to treat $patch path as relative or not, defaults to false
+        * @param string|bool $fullpath Whether to treat $patch path as relative or not, defaults to false
         * @return bool False if this was skipped because of schema changes being skipped
         */
-       public function modifyTable( $table, $patch,  $fullpath = false ) {
+       public function modifyTable( $table, $patch, $fullpath = false ) {
                if ( !$this->doTable( $table ) ) {
                        return true;
                }
@@ -1190,4 +1191,25 @@ abstract class DatabaseUpdater {
                        $wgContentHandlerUseDB = $this->holdContentHandlerUseDB;
                }
        }
+
+       /**
+        * Migrate comments to the new 'comment' table
+        * @since 1.30
+        */
+       protected function migrateComments() {
+               global $wgCommentTableSchemaMigrationStage;
+               if ( $wgCommentTableSchemaMigrationStage >= MIGRATION_WRITE_NEW &&
+                       !$this->updateRowExists( 'MigrateComments' )
+               ) {
+                       $this->output(
+                               "Migrating comments to the 'comments' table, printing progress markers. For large\n" .
+                               "databases, you may want to hit Ctrl-C and do this manually with\n" .
+                               "maintenance/migrateComments.php.\n"
+                       );
+                       $task = $this->maintenance->runChild( 'MigrateComments', 'migrateComments.php' );
+                       $task->execute();
+                       $this->output( "done.\n" );
+               }
+       }
+
 }