Tweaks to RELEASE-NOTES needed before tagging 1.34.0-rc.0
[lhc/web/wiklou.git] / maintenance / renameDbPrefix.php
index ed9d1f5..e5aa23e 100644 (file)
@@ -50,7 +50,7 @@ class RenameDbPrefix extends Maintenance {
                } else {
                        // Use nice safe, sane, prefixes
                        preg_match( '/^[a-zA-Z]+_$/', $this->getOption( 'old' ), $m );
-                       $old = isset( $m[0] ) ? $m[0] : false;
+                       $old = $m[0] ?? false;
                }
                // Allow for no new prefix
                if ( $this->getOption( 'new', 0 ) === '0' ) {
@@ -58,11 +58,11 @@ class RenameDbPrefix extends Maintenance {
                } else {
                        // Use nice safe, sane, prefixes
                        preg_match( '/^[a-zA-Z]+_$/', $this->getOption( 'new' ), $m );
-                       $new = isset( $m[0] ) ? $m[0] : false;
+                       $new = $m[0] ?? false;
                }
 
                if ( $old === false || $new === false ) {
-                       $this->error( "Invalid prefix!", true );
+                       $this->fatalError( "Invalid prefix!" );
                }
                if ( $old === $new ) {
                        $this->output( "Same prefix. Nothing to rename!\n", true );
@@ -71,7 +71,7 @@ class RenameDbPrefix extends Maintenance {
                $this->output( "Renaming DB prefix for tables of $wgDBname from '$old' to '$new'\n" );
                $count = 0;
 
-               $dbw = wfGetDB( DB_MASTER );
+               $dbw = $this->getDB( DB_MASTER );
                $res = $dbw->query( "SHOW TABLES " . $dbw->buildLike( $old, $dbw->anyString() ) );
                foreach ( $res as $row ) {
                        // XXX: odd syntax. MySQL outputs an oddly cased "Tables of X"
@@ -82,7 +82,9 @@ class RenameDbPrefix extends Maintenance {
                                // $old should be regexp safe ([a-zA-Z_])
                                $newTable = preg_replace( '/^' . $old . '/', $new, $table );
                                $this->output( "Renaming table $table to $newTable\n" );
-                               $dbw->query( "RENAME TABLE $table TO $newTable" );
+                               $oldTableEnc = $dbw->addIdentifierQuotes( $table );
+                               $newTableEnc = $dbw->addIdentifierQuotes( $newTable );
+                               $dbw->query( "RENAME TABLE $oldTableEnc TO $newTableEnc" );
                        }
                        $count++;
                }
@@ -90,5 +92,5 @@ class RenameDbPrefix extends Maintenance {
        }
 }
 
-$maintClass = "RenameDbPrefix";
+$maintClass = RenameDbPrefix::class;
 require_once RUN_MAINTENANCE_IF_MAIN;