Смена префиксов таблиц

<?php
ini_set("max_execution_time", 0);
ignore_user_abort(true);

$current_prefix = $modx->config['table_prefix'];

$new_prefix = 'NewPrefix_';

$stmt = $modx->query("SHOW TABLES");
$tables = $stmt->fetchAll(PDO::FETCH_NUM);
$stmt->closeCursor();

foreach($tables as $table){
    
    $table = reset($table);
    
    $preg = "/^{$current_prefix}/u";
    
    if(preg_match($preg, $table)){
        $new_table_name = preg_replace($preg, $new_prefix, $table);
        $sql = "RENAME TABLE `{$table}` TO `{$new_table_name}`";
        if($s = $modx->prepare($sql)){
            $s->execute();
        }
    }
}

print "\nTables are updated";