ecomdev / sync-magento-2-migration
Migration Application for M1 -> M2
Fund package maintenance!
EcomDev
Installs: 555
Dependents: 0
Suggesters: 0
Security: 0
Stars: 59
Watchers: 8
Forks: 11
Open Issues: 0
Type:project
pkg:composer/ecomdev/sync-magento-2-migration
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: 2025-10-07 17:59:07 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.