Magento 2 provides a separated module for data migration: magento/data-migration-tool. During the migration, it needs to customize this module and implement some additional steps to port 3rd-party customizations. Right now, we have the following changes in the .gitignore file of the project:

!/vendor/magento/data-migration-tool/etc/commerce-to-commerce/ !/vendor/magento/data-migration-tool/etc/commerce-to-commerce/ !/vendor/magento/data-migration-tool/etc/commerce-to-commerce/settings.xml !/vendor/magento/data-migration-tool/etc/commerce-to-commerce/map-sales.xml !vendor/magento/data-migration-tool/etc/commerce-to-commerce/eav-attribute-groups.xml !vendor/magento/data-migration-tool/src/Migration/Step/Claims/*

Is there any best practice how to extend this module? During magento porting, version of Magento 2 is being updating that's why the tool is being updated as well and it's important to save changes there.

  • Means you want to upgrade your data-migration-tool? @Roman Mar 27, 2018 at 11:33
  • @DhadukMitesh I don't want to, but I have to, because of Magento updating and it's required to use appropriate version of migration tool after that Mar 27, 2018 at 15:22
  • Please backup of that migration tool module. After that delete it and install new data-migration-tool with Magento new version. After that put required old file in new migration tool. Mar 28, 2018 at 3:49
  • @DhadukMitesh this is not handy in scope of modular Magento 2 system. This is the reason the question. Mar 28, 2018 at 7:48

1 Answer 1


From my understanding you want to keep custom config changes thought data-migration-versions. You can't really do this as the files in question suffer changes of their own when versions change. For example from 2.1.8 to 2.2.3 there are major changes at least in the config files.

As for code changes. Like changing the behavior of the Data Step for example, I think standard Magento rules apply. Do it it in a separate module and use DI. You would still have to check if your custom behavior is still compatible with the core functionality though.

From where I sit, I reckon you have to add your custom behavior manually each time the version changes.

I hope I got the question right. Cheers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.