if ( !isset( $db->_originalTablePrefix ) ) {
$oldPrefix = $db->tablePrefix();
-
if ( $oldPrefix === $prefix ) {
// table already has the correct prefix, but presumably no cloned tables
$oldPrefix = self::$oldTablePrefix;
$tablesCloned = self::listTables( $db );
$dbClone = new CloneDatabase( $db, $tablesCloned, $prefix, $oldPrefix );
$dbClone->useTemporaryTables( self::$useTemporaryTables );
-
$dbClone->cloneTableStructure();
$db->tablePrefix( $prefix );
$db->_originalTablePrefix = $oldPrefix;
+
+ $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
+ $lb->setTempTablesOnlyMode( self::$useTemporaryTables, $lb->getLocalDomainID() );
}
return true;
$dbClone = new CloneDatabase( $db, $tables, $db->tablePrefix(), $db->_originalTablePrefix );
$dbClone->useTemporaryTables( self::$useTemporaryTables );
-
$dbClone->cloneTableStructure();
+
+ $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
+ $lb->setTempTablesOnlyMode( self::$useTemporaryTables, $lb->getLocalDomainID() );
}
/**