将Magento详细信息插入外部数据库

时间:2014-01-11 17:03:06

标签: mysql magento insert

我需要将Magento下订单表格中的数据插入外部数据库,请详细说明如何实现。 目前,当我们点击下订单时,它会插入到sales_flat_order表中,我需要将其保存到外部数据库中。 由于我是Magento的新手,请不要介意这是否是一件简单的事情。

1 个答案:

答案 0 :(得分:0)

当你说外部数据库时,这是否意味着同一个盒子上的另一个数据库?或另一个盒子上的远程数据库?表格是否保持不变,或者所有字段和其他信息是否不同?

的方法: API:http://www.magentocommerce.com/api/rest/Resources/Orders/sales_orders.html 如果它是一个远程框,您可以使用REST API来提取订单(一旦API处于活动状态,创建角色,分配和连接用户)并以编程方式将返回的信息推送到新框。

数据流: 您可以设置数据流以导出订单信息,拉入CSV / XML,解析它并将所需的部件上传到新数据库。

数据流扩展: 与上面相同,但不是自己进行所有编程,而是可以安装类似于http://www.wyomind.com/orders-export-tool-magento.html的扩展名并将其ftp信息发送到远程服务器,以便您可以根据需要检查/解析文件到新数据库中。 p>

您能否透露更多关于环境,数据/订单量等的信息? 感谢。

---更新:

根据你的回答,这听起来不像是一个Magento问题,更多的是MySQL问题。 在这种情况下,您可以执行一些简单的操作,如“复制”或将表数据复制到其他本地数据库。

如果您没有处理太多订单,以下内容可能会满足您对一次性交易的需求。如果您正在处理大量订单,则可能需要扩展该方法。

##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' ;