mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-01-06 00:53:00 +01:00
Optimisation performances migration
This commit is contained in:
@@ -138,6 +138,7 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
|
||||
{
|
||||
// Suppression vieilles contraintes sans noms et en doubles
|
||||
// Les contraintes indesirables ont un nom qui commence par 0_ ou se termine par ibfk_999
|
||||
/*
|
||||
$listtables=array( 'llx_product_fournisseur_price',
|
||||
'llx_fichinter',
|
||||
'llx_facture_fourn',
|
||||
@@ -148,15 +149,14 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
|
||||
'llx_telephonie_contact_facture',
|
||||
'llx_telephonie_societe_ligne',
|
||||
'llx_telephonie_tarif_client');
|
||||
*/
|
||||
$listtables = $db->DDLListTables($conf->db->name,'');
|
||||
foreach ($listtables as $val)
|
||||
{
|
||||
$searchTable = '';
|
||||
$searchTable = $db->DDLListTables($conf->db->name,$val);
|
||||
if ($searchTable == $val)
|
||||
{
|
||||
//print "x".$val."<br>";
|
||||
$sql = "SHOW CREATE TABLE ".$val;
|
||||
$resql = $db->query($sql);
|
||||
if (! $resql) dolibarr_print_error($db);
|
||||
if ($resql)
|
||||
{
|
||||
$values=$db->fetch_array($resql);
|
||||
$i=0;
|
||||
@@ -174,6 +174,9 @@ if (! isset($_GET["action"]) || $_GET["action"] == "upgrade")
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
{
|
||||
// \TODO Ignore only error DB_ERROR_NOSUCHTABLE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -674,19 +674,23 @@ class DoliDb
|
||||
/**
|
||||
\brief Liste des tables dans une database.
|
||||
\param database Nom de la database
|
||||
\param table Nom de la table <20> rechercher
|
||||
\return array Tableau des
|
||||
\param table Filtre sur tables <20> rechercher
|
||||
\return array Tableau des tables de la base
|
||||
*/
|
||||
function DDLListTables($database, $table='')
|
||||
{
|
||||
$listtables=array();
|
||||
|
||||
$like = '';
|
||||
if ($table) $like = "LIKE '".$table."'"
|
||||
$result = mysql_query($this->db, "SHOW TABLES FROM ".$database." ".$like." ");
|
||||
if ($table) $like = "LIKE '".$table."'";
|
||||
$sql="SHOW TABLES FROM ".$database." ".$like.";";
|
||||
//print $sql;
|
||||
$result = mysql_query($this->db, $sql);
|
||||
while($row = mysql_fetch_array($result))
|
||||
{
|
||||
$this->results = $row[0];
|
||||
$listtables[] = $row[0];
|
||||
}
|
||||
return $this->results;
|
||||
return $listtables;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -678,19 +678,23 @@ class DoliDb
|
||||
/**
|
||||
\brief Liste des tables dans une database.
|
||||
\param database Nom de la database
|
||||
\param table Nom de la table <20> rechercher
|
||||
\return array Tableau des
|
||||
\param table Filtre sur tables <20> rechercher
|
||||
\return array Tableau des tables de la base
|
||||
*/
|
||||
function DDLListTables($database, $table='')
|
||||
{
|
||||
$listtables=array();
|
||||
|
||||
$like = '';
|
||||
if ($table) $like = "LIKE '".$table."'"
|
||||
$result = mysqli_query($this->db, "SHOW TABLES FROM ".$database." ".$like." ");
|
||||
if ($table) $like = "LIKE '".$table."'";
|
||||
$sql="SHOW TABLES FROM ".$database." ".$like.";";
|
||||
//print $sql;
|
||||
$result = mysqli_query($this->db, $sql);
|
||||
while($row = mysqli_fetch_array($result))
|
||||
{
|
||||
$this->results = $row[0];
|
||||
$listtables[] = $row[0];
|
||||
}
|
||||
return $this->results;
|
||||
return $listtables;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user