Я сортировал это самостоятельно. Меня удивило то, что нет действительного документа о том, как импортировать клиентов из ZenCart/OsCommerce в Magento в любом месте в Интернете, если на каком-то форуме с премиальными расширениями Magento. Поэтому я размещаю здесь свое решение, которое поможет любому, кто ищет это решение.
Fetching ZenCart данные клиента
Очевидно ZenCart использует БД MySQL. Входите в MySQL и смотрите на клиентов стол. Используйте приведенную ниже команду соответственно.
use ZenCart_DB
mysql> select * from customers\G
Здесь вы можете увидеть информацию о своих клиентах ZenCart. Примерный результат будет таким же, как у каждого клиента.
customers_id: 1298
customers_gender: m
customers_firstname: firstname
customers_lastname: Lastname
customers_dob:
customers_email_address: [email protected]
customers_nick:
customers_default_address_id:
customers_telephone: 12345678
customers_fax:
customers_password: dd2df54a57a4d35ffd2985b3584f0831:2c
customers_newsletter: 0
customers_group_pricing: 0
customers_email_format: TEXT
customers_authorization: 0
customers_referral:
customers_paypal_payerid:
customers_paypal_ec: 0
COWOA_account: 0
Это образец, и мы должны забрать все эти данные клиента в файл unix.
select * from customers into outfile 'customer.txt'\G
Теперь выходите из подсказки MySQL. Чтобы создать пользователя Magento, нам нужно только имя, фамилия, адрес электронной почты и пароль. Эти четыре детали являются обязательными. Следовательно grep эти детали из файла customer.txt.
Расположение Customer.txt файла будет /var/lib/mysql/ZenCart_DB/customer.txt
Grep необходимые данные клиента в различные отдельные файлы, которые помогут нам поставить их в для цикл позже.
awk {'print $3,$4,$7,$10'} customer.txt > details.txt
awk {'print$1'} details.txt > zen_firstname
awk {'print$2'} details.txt > zen_secondname
awk {'print$3'} details.txt > zen_email
awk {'print$4'} details.txt > zen_password
Создание пользователя Magento
Нет, мы не собрали все детали. Теперь, чтобы создать тестовый пользователь Magento из бэкэнд, мы должны запустить 5 запросов MySQL в базе данных magento. Они,
INSERT INTO customer_entity (entity_id, entity_type_id, attribute_set_id, website_id, email, group_id, increment_id, store_id, created_at, updated_at, is_active, disable_auto_group_change) VALUES (1, 1, 0, 1, $email, 1, NULL, 4, 2014-11-24 11:50:33, 2014-11-24 12:05:53, 1, 0)
INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (1, 1, 5, 1, $firstname);
INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (2, 1, 7, 1, '$lastname');
INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (3, 1, 12, 1, '$password');
INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (5, 1, 3, 1, 'English');
Если у вас слишком много клиентов, чтобы добавить, то лучше вставьте их в цикл. Это необязательно для каждого человека. мы можем создать для цикл в bash или аналогичный в Perl или на каком бы языке вы ни находились.
Несколько вещей отметить,
- значение ENTITY_ID является важным и оно должно быть одинаковым во всех 5 запросов. Он определяет идентификационный номер клиента.
- value_id как серийный номер для строк в таблице customer_entity_varchar. Следуйте последовательности, как есть.
- атрибут_ид должен храниться так, как он есть в последовательности 5,7,12,3, поскольку он представляет имена клиентов, имя, пароль, язык, соответственно.
Это все думаю. Благодарю. :)