Изменение / Удаление префикса таблиц Базы Данных

В целях эксперимента написал сценарий, для удаления префикса таблиц Базы Данных (phpfox_):
ini_set('display_errors', 'On');
error_reporting(E_ALL);

define('PHPFOX', true);

include('include/setting/server.sett.php');

$db = new mysqli($_CONF['db']['host'], $_CONF['db']['user'], $_CONF['db']['pass'], $_CONF['db']['name']);
if ($db->connect_errno)
{
	exit('Error MYSQLI: ' . $db->connect_error);
}
$db->set_charset('utf8');

$q = 'SHOW TABLES FROM `danfa`';

$danfa = $db->query($q);

while ($record = $danfa->fetch_assoc())
{
	$tableOriginal = $record['Tables_in_danfa'];
	$tableNew      = str_replace('phpfox_', '', $record['Tables_in_danfa']);

	$q = 'RENAME TABLE `' . $tableOriginal . '` TO `' . $tableNew . '`';

	$db->query($q) or exit($db->error);
}

В качестве названия базы, для примера, я использовал название danfa. Если будите использовать мой код, придётся изменить на название своей Базы, по всему сценарию.

Сценарий следует запускать с корня сайта.

После выполнения сценария, сайт упадёт. Необходимо внести следующие правки в файл:
Файл: "include/setting/server.sett.php", меняем:
$_CONF['db']['prefix'] = 'phpfox_';

На:
$_CONF['db']['prefix'] = '';

Файл: "include/library/phpfox/database/dba.class.php", удаляем строку:
$aRow['Name'] = str_replace(Phpfox::getParam(array('db', 'prefix')), 'phpfox_', $aRow['Name']);

Файл: "include/library/phpfox/phpfox/phpfox.class.php", меняем:
	public static function getT($table)
	{
		return 'phpfox_' . $table;
	}

На:
	// Создает префикс таблицы Базы Данных
	public static function getT($table)
	{
		return '`' . $table . '`';
	} // End: Создает префикс таблицы Базы Данных

Файл: "/include/library/phpfox/setting/setting.class.php", меняем:
			'prefix' => 'phpfox_',

На:
			'prefix' => '',

Перед началом работы, сделайте бэкап Базы Данных, на случай непредвиденных проблем.

Свой код выложил для ознакомления. Я не берусь отвечать, за возможные проблемы, после использования кода.

Мой код может слегка отличаться от Вашего, а если так, то делайте по аналогии.
Можно и так. В файле: "include/library/phpfox/database/dba.class.php", строку:
		$this->inquiry['table'] = 'FROM ' . $table . ($alias ? ' AS ' . $alias : '');

Заменил на:
		$this->inquiry['table'] = 'FROM `' . $table . '`' . ($alias ? ' AS ' . $alias : '');

Строку:
		$this->inquiry['join'] .= $type . ' ' . $table . ' AS ' . $alias;

Заменил на:
		$this->inquiry['join'] .= $type . ' `' . $table . '` AS ' . $alias;

Строку:
		return $this->query("DELETE FROM {$table} WHERE ". $sQuery);

Меняю на:
		return $this->query('DELETE FROM `' . $table . '` WHERE ' . $sQuery);

Строку:
		return 'INSERT INTO ' . $table . ' '.

Меняю на:
		return 'INSERT INTO `' . $table . '` '.

Строку:
		return 'UPDATE ' . $table . ' SET ' . $sets . ' WHERE ' . $cond;

Меняю на:
		return 'UPDATE `' . $table . '` SET ' . $sets . ' WHERE ' . $cond;

В файле: "include/library/phpfox/phpfox/phpfox.class.php", код:
	public static function getT($table)
	{
		return '`' . $table . '`';
	}

Поменял на:
	public static function getT($table)
	{
		return $table;
	}

Теперь запрос можно писать без метода phpfox::getT(), вот так:
			$page = self::getLib('database')
				->select('p.page_id, p.user_id AS owner_user_id, u.user_id')
				->from('pages', 'p')
				->join('user', 'u', 'u.profile_page_id = p.page_id')
				->where('p.page_id = ' . (int) $_REQUEST['custom_pages_post_as_page']);

Но, если будут полноценные запросы в методах, например:
->innerJoin('(SELECT * FROM ' . $table . ' AS n WHERE n.user_id = ' . phpfox::getUserId() . ' ORDER BY n.time_stamp DESC)', 'ninner', 'ninner.notification_id = n.notification_id')

То его придётся исправлять. Иначе будет синтаксическая ошибка.