Yes, you can use the data-migration-tool
for this, and I'd recommend to do so over any other methods: it will do the necessary field value conversions where needed.
We were in a similar position as you: we imported product data (catalog, products) at an earlier point in time, then built the shop's design and functionalities and now will do a final data migration run for the customers, quotes, orders, logs and similar stuff.
In the config.xml
, comment out the substeps you do not want to run again. in my case, I have the following disabled:
- settings: everything
data: eav step, url rewrite step, configurable prices step, tier price step, post processing step
in map.xml
, I made sure to ignore all tables that I do not want the data to be migrated for.
Be sure to include the necessary
<ignore><document>{tablename}</document></ignore>
in both sections (<source>
and <destination>
(maybe called <target>
in older versions)).
Be sure to test the migration on a copy of your db's (both magento 1.x and magento 2.x) as it can be quite destructive. It took me a few days and tries to get the mappings adjusted to our needs, but now the migration runs through without a hick.
I was not able to get the delta migration properly running with the above modifications, but in most cases, you'll only want to migrate the data just once before switching the new shop live.
If your 1.x shop has a fair amount of data, the migration process will take quite a while tho. be sure to run the migration in a screen
shell session or similar to avoid data loss due to disconnects.
In fact, migrate data (especially the "Map Step" where categories and products are transferred) always totally messed up my M2 installation.
After that always a bunch of errors occured.
Finally i managed it this way (maybe interesting for somebody else):
- Clean installation Magento 2 + migration tool
- DB backup
- Migrate settings
- Migrate data (complete; all steps)
- Export products in CSV
- Restore DB backup
- Migrate settings (with -r argument)
- Fix all errors in CSV file
- Import products
- Done
Now there is a proper Magento 2 base without any old filthy data and with all categories and products, voila...
Best Answer
For orders, you will usually need customers as well.
I used answer when I first did this.
Only run the
bin/magento migrate:data
command. And with-r
if you want to start from scratch.In your
config.xml
, comment out theEav
and other steps you want to exclude:Then in your
map.xml
ignore most product stuff with: