2011-12-09 12 views
5

In Magento Community v1.5.1.0, come si fa a impostare l'ID cliente iniziale (o successivo)? Per impostazione predefinita, il primo ID cliente è 1. Devo iniziare dall'ID cliente 300000 dopo aver eliminato i dati di test prima di spostare un negozio in produzione.Come iniziare con un ID cliente diverso in Magento?

Gli ID di ordine, fattura, spedizione e accredito possono essere modificati aggiornando i valori appropriati in eav_entity_store, ma (contrariamente alle informazioni here) non esiste una voce di incremento per ID cliente.

Ho scansionato il database per una tabella "cliente" che avrebbe ottenuto lo stesso risultato di eav_entity_store ma nessun dado e anche il mio Google Fu.

risposta

8

Ho pensato che non fosse possibile in Magento, ma sarà fatto da query MySql. Eseguire la query di seguito manualmente e si otterrà l'avvio ID utente da 300001

ALTER TABLE customer_entity AUTO_INCREMENT = 300001; 
+0

Ah ... non pensavo di guardare lì. Questo prova alla grande ... grazie mille! –

4

Non v'è alcun incremento per il cliente in eav_entity_store ma uno può essere creato, forse in script di installazione di un modulo ...

$customerType = Mage::getModel('eav/entity_type')->loadByCode('customer'); 
Mage::getModel('eav/entity_store') 

    // customer increments are not per store so store_id is 0 
    ->loadByEntityStore($customerType->getId(), 0) 

    // increments are varchar, not ints 
    ->setIncrementPrefix('3') 
    ->setIncrementLastId('300000') 
    ->save(); 
+0

Grazie a clockworkgeek! Ho usato le tue abilità Magento per un po 'ora ... felice che tu sia là fuori! Ho usato il suggerimento di Sankar per aggiornare direttamente AUTO_INCREMENT su customer_entity ... Ho creato alcuni nuovi clienti e i loro ID stanno verificando. Suppongo che in fin dei conti faccia la stessa cosa tranne che nel codice piuttosto che nel manuale MySQL? (Ad eccezione dell'aggiunta del prefisso dell'incremento) –

+0

I due metodi non sono del tutto equivalenti. Sankar ha effetto sul campo numerico 'entity_id' (' $ cliente-> getId() '), ma il mio influenza il campo testuale' increment_id' ('$ cliente-> getIncrementId()'). Usa quello più conveniente. – clockworkgeek

Problemi correlati