2014-01-11 4 views
0

Мне нужно вставить данные из формы заказа Magento во внешнюю базу данных, пожалуйста, сообщите подробности о том, как я могу ее достичь. В настоящее время, когда мы нажимаем на заказ, он вставляет в таблицу sales_flat_order, мне нужно сохранить его во внешнюю БД. Как я новичок в Magento, пожалуйста, не возражайте, если это простая вещь.Ввести детали Magento во внешнюю базу данных

ответ

0

Когда вы говорите внешнюю БД, означает ли это другую базу данных в том же поле? Или удаленная база данных на другом поле? Будет ли таблица оставаться неизменной или все поля и дополнительная информация различны?

Подходы: API: http://www.magentocommerce.com/api/rest/Resources/Orders/sales_orders.html Если это удаленный ящик, вы можете использовать REST API, чтобы потянуть орденский (когда API активен, роль создаются, пользователь назначаются и подключен) и нажмите возвращаемый информация в новом окне программно.

Информационный поток: Вы можете настроить поток данных для экспорта информации о заказе, вытащить CSV/XML, проанализировать его и загрузить необходимые детали в новую БД.

Dataflow Расширение: То же самое, но вместо того, чтобы делать все программирования самостоятельно, можно установить расширение, как: http://www.wyomind.com/orders-export-tool-magento.html и иметь его передачи файлов информации на удаленный сервер, так что вы можете проверить/разобрать файл в новую БД, как необходимо.

Можете ли вы рассказать немного больше об окружающей среде, количестве данных/заказах и т. Д.? Спасибо.

--- Обновление:

За ваш ответ, это звучит менее вопрос Magento здесь и больше вопрос MySQL. В этом случае вы можете сделать что-то такое же простое, как «репликация» или копирование данных таблицы в другую локальную базу данных.

Если вы не работаете со слишком большим количеством заказов, следующее может удовлетворить ваши потребности в 1 раз. Если вы имеете дело с большим количеством заказов, возможно, этот подход может быть расширен.

##Direct Copy: 
#using stage_magento to represent your other DB 
#assuming this is done with a user that has correct permissions on both databases. 

#create the table 
CREATE TABLE stage_magento.sales_flat_order LIKE production_magento.sales_flat_order; 
#copy the data 
INSERT stage_magento.sales_flat_order SELECT * FROM production_magento.sales_flat_order; 


##################### 
## Option 2, export to file system, import to new db 
##Indirect, Export from DB/Table 
SELECT * FROM production_magento.sales_flat_order INTO OUTFILE '/tmp/sales_flat_order.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' ; 
##Import into New DB/Table 
LOAD DATA INFILE '/tmp/sales_flat_order.csv' INTO TABLE stage_magento.sales_flat_order FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' ; 
+0

Настоящая ситуация у меня есть другая база данных на одной коробке. в обоих БД имя таблицы и столбцы одинаковы. –

Смежные вопросы