ecomdev / sync-magento-2-migration
Migration Application for M1 -> M2
Fund package maintenance!
EcomDev
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 59
Watchers: 10
Forks: 11
Open Issues: 0
Type:project
Requires
- php: 8.2
- laminas/laminas-db: ^2.15
- laminas/laminas-dependency-plugin: ^2.1
- league/climate: ^3.5
- league/csv: ^9.2
- nanawel/zend-db-sql-insertmultiple: 2.1
Requires (Dev)
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-10-24 15:47:11 UTC
README
A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2. Table data gets exported without the knowledge of the entity identifiers and delta imports get processed by related unique keys:
- Categories: id attribute (gets stored in map table)
- Products: SKU
- Customers: email + website
When you export data from your existing stores you can configure mapping and skipped row conditions by using configuration.json:
Here is an example of configuration.json that maps all manufacturer attribute code in product data into a brand and skips.
{ "product_data.csv": { "map": { "attribute": { "manufacturer": "brand" } }, "skip": [ { "store": ["pl", "sk"] } ] } }
Also, you can add own mappers for exported files. Here is an example on mapping output of product attributes to create website level price instead of global during migration:
{ "product": { "mappers": { "product_attributes": [ { "class": "EcomDev\\MagentoMigration\\CustomMappers\\PriceMapper", "setup": [ ["withStore", "us_en", 1.0], ["withStore", "uk_en", 0.76], ["withStore", "eu_en", 0.89] ] } ] } } }
Tests
Right now the automation suite might not run, as tool is released by stripping of all customer specific data from tests and codebase. PRs to re-introduce test cases that has been removed are welcome.