Jump to content

Bug, Copie De Données Multi-Boutique


Recommended Posts

Lors de la copie des données d'une multi-boutique à une autre (une nouvelle) ...

 

Voici un bug qui ce produit lorsque 15 multi-boutiques de 150 000 produits sont présentes :

 

 

Il semble qu'il y a une erreur sur cette requête :

les UPDATE sont ajoutés lors de chaque nouvelle requête ...

 

UPDATE ps_product a INNER JOIN ps_product_shop product_shop ON ( product_shop.id_product = a.id_product AND product_shop.id_shop IN ( 14, 5, 27, 1, 11, 12, 13, 46, 26, 15, 47, 50, 48, 49, 51 ) ) SET a.indexed = '1',

product_shop.indexed = '1' WHERE a.id_product IN ( 5521, 5525, 5546, 5564, 5693, 5694, 5695, 5699, 5700, 5701, 5702, 5703, 5704, 5706, 6392, 6393, 6394, 6395, 6396, 6397, 6398, 6399, 6400, 6402, 6403, 6411, 6412, 6413, 6414, 6415, 6417, 6418)

 

UPDATE ps_product a INNER JOIN ps_product_shop product_shop ON ( product_shop.id_product = a.id_product AND product_shop.id_shop IN ( 14, 5, 27, 1, 11, 12, 13, 46, 26, 15, 47, 50, 48, 49, 51 ) ) SET a.indexed = '1',

product_shop.indexed = '1' WHERE a.id_product IN ( 5521, 5525, 5546, 5564, 5693, 5694, 5695, 5699, 5700, 5701, 5702, 5703, 5704, 5706, 6392, 6393, 6394, 6395, 6396, 6397, 6398, 6399, 6400, 6402, 6403, 6411, 6412, 6413, 6414, 6415, 6417, 6418, 6419, 6420, 6431, 6434, 6438, 6439, 6441, 6443, 6447, 6448, 6449, 6450, 6453, 6454, 6505, 6507, 6509, 6510, 6511, 6512, 6513, 6514, 6516, 6517, 6518, 6520, 6521, 6522, 6523, 6524, 6525, 6527, 6532, 6725, 6727, 6731, 6736, 6737, 6741, 6743, 6748, 6754, 6780, 6782, 6785, 6786, 6787, 6788, 6790, 6791, 6799, 6800, 6801, 6803, 6804, 6805, 6806, 6807, 6813, 6815, 6828, 6894, 7007, 7012, 7227, 7282, 7633, 7637, 7639, 7661, 7663, 7675, 7685, 7687, 7689, 7697, 7715, 7723, 7725, 7727, 7733, 7757, 7778, 9180, 9182, 9184, 10699, 10741, 10800, 10801, 10802, 10803, 10804, 10805, 10806, 10807, 10808, 10809, 16894, 16896, 16910, 16913, 16954, 16955, 16973, 16974, 16975, 16983, 16984, 16991, 16992, 17146, 17147, 17148, 17151, 17155, 17164, 17192, 17197, 17202, 17217, 17221, 17224, 17245, 17252, 17255, 17399, 17413, 17466, 17507, 17535, 17540, 17593, 17599, 17669, 17688, 17690, 17692, 17703, 17711, 17712, 17718, 17970, 17998, 18009, 18014, 18015, 18017, 18035, 18082, 18093, 18096, 18100, 18140, 18148, 18182, 18229, 18234, 18238, 18242, 18264, 18265, 18269, 18270, 18321, 18327, 18385, 18393, 18397, 18400, 18411, 18417, 18419, 18439, 18440, 18443, 18444, 18450, 18452, 18463, 18492, 18493, 18502, 18520, 18531, 18534, 18536, 18551, 18559, 18564, 18579, 18583, 18595, 18600, 18644, 18645, 18658, 18661, 18667, 18710, 18713, 18719, 18722, 18725, 18731, 18734, 18735, 18737, 18738, 18744, 18745, 18746, 18749, 18752, 18753, 18760, 18762, 18764, 18768, 18769, 18777, 18794, 18828 )

 

après recherche, impossible de trouver le code qui génère cette requête SQL ...

 

 

merci

Link to comment
Share on other sites

le bug :

lors de la copie d'une multiboutique à l'autre ...

s'il y a de nombreux produits (plus de 100 000) ...

un UPDATE fait planter les serveurs MySQL

car il cumule les updates ...

 

 

/classes/Search.php

protected static function setProductsAsIndexed(&$products)

{

if (count($products)) {

ObjectModel::updateMultishopTable('Product', array('indexed' => 1), 'a.id_product IN ('.implode(',', $products).')');

}

$products = array();

}

 

 

OU/ET

 

 

/controllers/admin/AdminShopController.php

public function processAdd()

{

...

 

// annule l'indexation au moment de la copie ............

// Search::indexation(true);

 

return $object;

}

 

PS : vous devez indexer par la suite ............

 

 

PS : il reste un bug sur l'indexation , qui tourne en boucle infini ...

Edited by becrew33 (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

Avez-vous trouvé une solution ? je suis face au même problème, j'ai plus de 100 multi-boutiques avec 1000 produits, l'indexation étant longue à la création d'une nouvelle boutique, je la stoppe moi même pour la reprendre plus tard.

 

Le soucis je n'arrive pas à avoir de résultat dans le moteur de recherche et pourtant la BDD est pleine ??

 

Les seules boutiques ayant des résultats sont celles par défaut.

 

Je suis en prestashop 1.5.2 sur serveur dédié OVH, j'ai bien essayé de mettre à jour avec des fichiers de la 1.5.4 mais sans résultats.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...