Magento 1.9.4 --> Magento 2.4.2-p1
I successfully ran the settings and data migration using the Magento Migration tool. Now I read up on how to transfer the Media Files over (product images) and the guide I’m looking at says:
Expect to manually transfer a few aspects of your site, such as images.
To copy the data over to Magento 2, we simply copy the M1:media folder over to M2:pub/media:
cp -r /path/to/magento1/media /path/to/magento2/pub
After that, we have to reindex the Magento 2 store with the following command:
php bin/magento indexer:reindex
Then recompile it:
php bin/magento deploy:mode:set production
Now, our website should have all our M1 products, along with their images.
My question is – can I do this via FTP? The reason being is running commands via SSH ROOT seems to cause a problem for us as the files change ownership and it needs to be chmoded afterwards to assign the correct ownership?
If I download the media directory to a local folder and then re-upload it to the new site’s Media folder, do I still have to run those commands to reindex the Magento 2 store and recompile it?
Also – am I to copy /public_html/media/catalog/product or should I copy everything in the Media folder?
As per a request from @Nilesh Dubey here is my config.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="urn:magento:module:Magento_DataMigrationTool:etc/config.xsd">
<steps mode="settings">
<step title="Settings Step">
<integrity>MigrationStepSettingsIntegrity</integrity>
<data>MigrationStepSettingsData</data>
</step>
<step title="Stores Step">
<integrity>MigrationStepStoresIntegrity</integrity>
<data>MigrationStepStoresData</data>
<volume>MigrationStepStoresVolume</volume>
</step>
</steps>
<steps mode="data">
<step title="Data Integrity Step">
<integrity>MigrationStepDataIntegrityIntegrity</integrity>
</step>
<step title="EAV Step">
<integrity>MigrationStepEavIntegrity</integrity>
<data>MigrationStepEavData</data>
<volume>MigrationStepEavVolume</volume>
</step>
<step title="Customer Attributes Step">
<integrity>MigrationStepCustomerIntegrity</integrity>
<data>MigrationStepCustomerData</data>
<volume>MigrationStepCustomerVolume</volume>
</step>
<step title="Map Step">
<integrity>MigrationStepMapIntegrity</integrity>
<data>MigrationStepMapData</data>
<volume>MigrationStepMapVolume</volume>
</step>
<step title="Url Rewrite Step">
<integrity>MigrationStepUrlRewriteVersion191to2000</integrity>
<data>MigrationStepUrlRewriteVersion191to2000</data>
<volume>MigrationStepUrlRewriteVersion191to2000</volume>
</step>
<step title="Log Step">
<integrity>MigrationStepLogIntegrity</integrity>
<data>MigrationStepLogData</data>
<volume>MigrationStepLogVolume</volume>
</step>
<step title="Ratings Step">
<integrity>MigrationStepRatingsIntegrity</integrity>
<data>MigrationStepRatingsData</data>
<volume>MigrationStepRatingsVolume</volume>
</step>
<step title="ConfigurablePrices step">
<integrity>MigrationStepConfigurablePricesIntegrity</integrity>
<data>MigrationStepConfigurablePricesData</data>
<volume>MigrationStepConfigurablePricesVolume</volume>
</step>
<!-- <step title="OrderGrids Step"> -->
<!-- <integrity>MigrationStepOrderGridsIntegrity</integrity> -->
<!-- <data>MigrationStepOrderGridsData</data> -->
<!-- <volume>MigrationStepOrderGridsVolume</volume> -->
<!-- </step> -->
<step title="Tier Price Step">
<integrity>MigrationStepTierPriceIntegrity</integrity>
<data>MigrationStepTierPriceData</data>
<volume>MigrationStepTierPriceVolume</volume>
</step>
<!-- <step title="SalesIncrement Step"> -->
<!-- <integrity>MigrationStepSalesIncrementIntegrity</integrity> -->
<!-- <data>MigrationStepSalesIncrementData</data> -->
<!-- <volume>MigrationStepSalesIncrementVolume</volume> -->
<!-- </step> -->
<step title="Inventory Step">
<integrity>MigrationStepInventoryIntegrity</integrity>
<data>MigrationStepInventoryData</data>
<volume>MigrationStepInventoryVolume</volume>
</step>
<step title="PostProcessing Step">
<data>MigrationStepPostProcessingData</data>
</step>
</steps>
<steps mode="delta">
<step title="Customer Attributes Step">
<delta>MigrationStepCustomerDelta</delta>
<volume>MigrationStepCustomerVolume</volume>
</step>
<step title="Map Step">
<delta>MigrationStepMapDelta</delta>
<volume>MigrationStepMapVolume</volume>
</step>
<step title="Log Step">
<delta>MigrationStepLogDelta</delta>
<volume>MigrationStepLogVolume</volume>
</step>
<step title="ConfigurablePrices step">
<delta>MigrationStepConfigurablePricesDelta</delta>
<volume>MigrationStepConfigurablePricesVolume</volume>
</step>
<step title="Tier Price Step">
<delta>MigrationStepTierPriceDelta</delta>
<volume>MigrationStepTierPriceVolume</volume>
</step>
<step title="Url Rewrite Step">
<delta>MigrationStepUrlRewriteVersion191to2000Delta</delta>
<volume>MigrationStepUrlRewriteVersion191to2000</volume>
</step>
<step title="OrderGrids Step">
<delta>MigrationStepOrderGridsDelta</delta>
<volume>MigrationStepOrderGridsVolume</volume>
</step>
<step title="SalesIncrement Step">
<delta>MigrationStepSalesIncrementDelta</delta>
<volume>MigrationStepSalesIncrementVolume</volume>
</step>
<step title="Inventory Step">
<delta>MigrationStepInventoryDelta</delta>
<volume>MigrationStepInventoryVolume</volume>
</step>
</steps>
<source>
<database host="localhost" name="name_of_database_Magento1" user="user_of_database_Magento1" password="password_of_database_Magento1"/>
</source>
<destination>
<database host="localhost" name="name_of_database_Magento2" user="user_of_database_Magento2" password="password_of_database_Magento2"/>
</destination>
<options>
<map_file>etc/opensource-to-opensource/1.9.4.0/map.xml.dist</map_file>
<eav_map_file>etc/opensource-to-opensource/map-eav.xml.dist</eav_map_file>
<eav_document_groups_file>etc/opensource-to-opensource/eav-document-groups.xml.dist</eav_document_groups_file>
<eav_attribute_groups_file>etc/opensource-to-opensource/eav-attribute-groups.xml.dist</eav_attribute_groups_file>
<log_map_file>etc/opensource-to-opensource/map-log.xml.dist</log_map_file>
<log_document_groups_file>etc/opensource-to-opensource/log-document-groups.xml.dist</log_document_groups_file>
<settings_map_file>etc/opensource-to-opensource/settings.xml.dist</settings_map_file>
<customer_map_file>etc/opensource-to-opensource/map-customer.xml.dist</customer_map_file>
<customer_document_groups_file>etc/opensource-to-opensource/customer-document-groups.xml.dist</customer_document_groups_file>
<customer_attribute_groups_file>etc/opensource-to-opensource/customer-attribute-groups.xml.dist</customer_attribute_groups_file>
<delta_document_groups_file>etc/opensource-to-opensource/deltalog.xml.dist</delta_document_groups_file>
<order_grids_document_groups_file>etc/opensource-to-opensource/order-grids-document-groups.xml.dist</order_grids_document_groups_file>
<map_document_groups>etc/opensource-to-opensource/map-document-groups.xml.dist</map_document_groups>
<class_map>etc/opensource-to-opensource/class-map.xml.dist</class_map>
<tier_price_map_file>etc/opensource-to-opensource/1.9.4.0/map-tier-price.xml.dist</tier_price_map_file>
<stores_map_file>etc/opensource-to-opensource/map-stores.xml.dist</stores_map_file>
<!--
In case bulk_size=0 it will be auto-detected for every document.
-->
<bulk_size>0</bulk_size>
<!--
Set direct_document_copy = 1 for better performance.
NOTE: 'source' and 'destination' databases MUST be placed on the same MySQL instance
and 'destination' user MUST be granted with 'SELECT' permissions on 'source' database
-->
<direct_document_copy>0</direct_document_copy>
<source_prefix>aa_</source_prefix>
<dest_prefix>bbcc_</dest_prefix>
<auto_resolve_urlrewrite_duplicates>0</auto_resolve_urlrewrite_duplicates>
<log_file>migration.log</log_file>
<progress_bar_format>%percent%% [%bar%] Remaining Time: %remaining%</progress_bar_format>
<upgrade_customer_password_hash>1</upgrade_customer_password_hash>
<edition_migrate>opensource-to-opensource</edition_migrate>
<edition_number>1.9.4.0</edition_number>
<init_statements_source>SET NAMES utf8;</init_statements_source>
<init_statements_destination>SET NAMES utf8;</init_statements_destination>
<crypt_key>akdfhaofsdjfjasdfsdu</crypt_key>
</options>
</config>