2010-11-26 34 views
1

Avec l'esclave maître configuré sur magento 1.4.1.2 client créé avec l'esclave maître configuré

Lorsque je passe la commande à partir du backend, deux clients sont créés. Un client est avec toutes les informations ajoutées lors de la commande et un utilisateur sans prénom, nom et autres informations.

+0

J'ai ajouté un error_log dans Mysql.php dans la requête de fonction. Je vois la requête suivante et je pense que c'est pourquoi il est créé deux fois ==== [Fri Nov 26 10:01:00 2010] [erreur] [client 127.0.0.1] INSERT INTO 'customer_entity' (' email', 'group_id ',' store_id', 'website_id',' entity_type_id', 'created_at',' updated_at') VALEURS (?,?,?,?,?,?,?) ==== [Ven Nov 26 10:01: 01 2010] [erreur] [client 127.0.0.1] INSERT INTO 'customer_entity' (' store_id', 'group_id',' entity_type_id', 'created_at',' updated_at', 'website_id') VALEURS (?,?,?, ?,?,?) – Saurabh

+1

Si vous désactivez 'default_read' dans votre config afin qu'il retourne à une base de données de serveur unique, cela fonctionne-t-il définitivement? – clockworkgeek

+0

oui ça marche normalement alors. – Saurabh

Répondre

0

Je l'ai fait pour résoudre ce problème

Changé

class Mage_Customer_Model_Entity_Customer extends 
Mage_Eav_Model_Entity_Abstract 
{ 
    /** 
    * Initiate resources 
    * 
    */ 
    public function __construct() 
    { 
     $resource = Mage::getSingleton('core/resource'); 
     $this->setType('customer'); 
     $this->setConnection(
      $resource->getConnection('customer_read'), 
      $resource->getConnection('customer_write') 
     ); 
    } 

à

class Mage_Customer_Model_Entity_Customer extends 
Mage_Eav_Model_Entity_Abstract 
{ 
    /** 
    * Initiate resources 
    * 
    */ 
    public function __construct() 
    { 
     $resource = Mage::getSingleton('core/resource'); 
     $this->setType('customer'); 
     $this->setConnection(
      $resource->getConnection('core_setup'), 
      $resource->getConnection('core_setup') 
     ); 
    } 

Permettez-moi de savoir s'il y a une autre façon de résoudre ce problème.

+0

Avant d'écrire 'customer_write' et de lire' customer_read' - deux serveurs différents. En passant à 'core_setup', vous écrivez et lisez depuis le même serveur, le maître, qui résout le problème. Je suppose que vous pouvez également utiliser 'customer_write' pour les deux, mais cela signifie toujours lire à partir du master pour tous les enregistrements clients, ce qui ne semble pas efficace. – clockworkgeek

+0

Oui, c'est vrai, même je pense que ce n'est pas efficace. Je cherche une meilleure solution. – Saurabh

+0

Aussi je suis confronté au même problème lorsque je sauvegarde le rôle. Lorsque je sauvegarde un rôle, tous les utilisateurs sous ce rôle disparaissent :) – Saurabh