En un proyecto reciente, hemos tenido que migrar una base de datos de más de 20K clientes desde una plataforma de comercio electrónico antigua y obsoleta.
Para ello hemos tenido que programar un script a medida que se conecta con el sistema antiguo y vuelca los datos de los clientes, preservando datos generales y direcciones de envío y configuración.
Para crear un cliente en Magento de forma programada, podéis utilizar el siguiente código:
// Necesitamos una instancia del store al que vamos a asociar el cliente
$store = Mage::getModel('core/store')->load($storeId);
// Creamos la instancia de cliente
$customer = Mage::getModel('customer/customer');
// Asignamos datos
$customer ->setWebsiteId(<id_website_al_que_asociar_cliente>);
$customer ->setStore($store);
$customer ->setFirstname(<nombre_cliente>);
$customer ->setLastname(<apellidos_cliente>);
$customer ->setEmail(<email_cliente>);
$customer ->setGroupId(<id_grupo_de_cliente>);
$customer ->setPassword(<password_del_cliente_si_es_conocodo>);
// Guardamos el cliente
try{
$customer ->save();
}
catch (Exception $e) {
Zend_Debug::dump($e->getMessage());
}
La contraseña del cliente, como podéis suponer, a veces no está disponible sin cifrar, y por tanto necesitaremos asignar una contraseña aleatoria y forzar a los usuarios a realizar la restauración de su contraseña.

Hey! Qué opinas sobre el artículo?