移轉資料
開始之前,請採取下列步驟進行準備:
- 以檔案系統擁有者的身份登入您的應用程式伺服器。
- 變更應用程式安裝目錄,或確認已將其新增至您的系統
PATH
。
如需詳細資訊,請參閱第一個步驟區段。
執行資料移轉命令
若要開始移轉資料,請執行:
bin/magento migrate:data [-r|--reset] [-a|--auto] {<path to config.xml>}
其中:
-
[-a|--auto]
是選擇性引數,可防止移轉在遇到完整性檢查錯誤時停止。 -
[-r|--reset]
是從頭開始移轉的可選引數。 您可以使用此引數來測試移轉。 -
{<path to config.xml>}
是config.xml
的絕對檔案系統路徑;此引數為必要項
在此步驟中,Data Migration Tool會為Magento1資料庫中的移轉表格建立其他表格和觸發程式。 它們用於增量/差異移轉步驟。 其他表格包含最終移轉執行後變更記錄的相關資訊。 資料庫觸發程式用於填入這些額外的表格,因此,如果正在特定表格上執行新作業(新增/修改/移除記錄),這些資料庫觸發程式會將此作業的相關資訊儲存至額外的表格。 當我們執行差異移轉程式時,Data Migration Tool會檢查這些表格中是否有未處理的記錄,並將必要的內容移轉到Magento2資料庫。
每個新表格都包含:
m2_cl
首碼INSERT
、UPDATE
、DELETE
個事件觸發程式。
例如,對於sales_flat_order
,Data Migration Tool會建立:
-
m2_cl_sales_flat_order
資料表:code language-sql CREATE TABLE `m2_cl_sales_flat_order` ( `entity_id` int(11) NOT NULL COMMENT 'Entity_id', `operation` text COMMENT 'Operation', `processed` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Processed', PRIMARY KEY (`entity_id`) ) COMMENT='m2_cl_sales_flat_order';
-
trg_sales_flat_order_after_insert
、trg_sales_flat_order_after_update
、trg_sales_flat_order_after_delete
個觸發程式:code language-sql DELIMITER ;; CREATE TRIGGER `trg_sales_flat_order_after_insert` AFTER INSERT ON `sales_flat_order` FOR EACH ROW BEGIN INSERT INTO m2_cl_sales_flat_order (`entity_id`, `operation`) VALUES (NEW.entity_id, 'INSERT')ON DUPLICATE KEY UPDATE operation = 'INSERT'; END ;; DELIMITER ;; CREATE TRIGGER `trg_sales_flat_order_after_update` AFTER UPDATE ON `sales_flat_order` FOR EACH ROW BEGIN INSERT INTO m2_cl_sales_flat_order (`entity_id`, `operation`) VALUES (NEW.entity_id, 'UPDATE') ON DUPLICATE KEY UPDATE operation = 'UPDATE'; END ;; DELIMITER ;; CREATE TRIGGER `trg_sales_flat_order_after_delete` AFTER DELETE ON `sales_flat_order` FOR EACH ROW BEGIN INSERT INTO m2_cl_sales_flat_order (`entity_id`, `operation`) VALUES (OLD.entity_id, 'DELETE')ON DUPLICATE KEY UPDATE operation = 'DELETE'; END ;;
NOTE
Data Migration Tool在執行時儲存其目前的進度。 如果發生錯誤或使用者介入導致其停止執行,「工具」會以最後已知的良好狀態繼續進度。 若要強制從頭執行Data Migration Tool,請使用
--reset
引數。 在這種情況下,建議您還原Magento2資料庫傾印,以防止重複先前移轉的資料。可能的一致性錯誤
執行時,Data Migration Tool可能會報告Magento1和Magento2資料庫之間的不一致,並顯示如下的訊息:
Source documents are missing: <EXTENSION_TABLE_1>,<EXTENSION_TABLE_2>,...<EXTENSION_TABLE_N>
Destination documents are missing: <EXTENSION_TABLE_1>,<EXTENSION_TABLE_2>,...<EXTENSION_TABLE_N>
Source documents are not mapped: <EXTENSION_TABLE_1>,<EXTENSION_TABLE_2>,...<EXTENSION_TABLE_N>
Destination documents are not mapped: <EXTENSION_TABLE_1>,<EXTENSION_TABLE_2>,...<EXTENSION_TABLE_N>
Source fields are missing. Document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Destination fields are missing. Document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Source fields are not mapped. Document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Destination fields are not mapped. Document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Mismatch of data types. Source document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Mismatch of data types. Destination document: <EXTENSION_TABLE>. Fields: <FIELD_1>,<FIELD_2>...<FIELD_N>
Incompatibility in data. Source document: <EXTENSION_TABLE>. Field: <FIELD>. Error: <ERROR_MESSAGE>
Incompatibility in data. Destination document: <EXTENSION_TABLE>. Field: <FIELD>. Error: <ERROR_MESSAGE>
如需詳細資訊與建議,請參閱本指南的疑難排解一節。
下一個移轉步驟
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3