October 25, 2020
11 min read

Magento Integration Solutions: Migrate from V1 to V2 (Part 2)

In the second part of this Magento integration solutions transfer instructional, we will focus on talking about the migration tool.

In the second part of this Magento integration solutions transfer instructional, we will focus on talking about the migration tool. It will assist the process of migrating your shop to the new Magento. If you haven’t read the first part yet, you may do so here.

In the second part of this Magento integration solutions transfer instructional, we will focus. This tool does what software architects do by taking note of the most relevant information in the shop such as:

  • User and client data
  • Products
  • Categories used for products
  • Attributes of the online store
  • Existing orders

Magento hopes that with the help of the tool, the e-commerce shop development will significantly reduce. However, you should remember that the migration of custom-made extensions and essential features is not possible. These, you have to add manually. Just keep in mind that when adding, you have to code them that pairs up well with Magento 2.

Requirements for the Magento integration solutions transfer

Software architects and developers concludes that requirements are necessary to make the migration smoother. These requirements include:

  • Resolving Magento CORE issues with custom modules and extensions
  • Sending business logic in templates to block classes that must communicate with controller classes
  • Obtaining new versions of every third-party extension from their creators
  • Developers creating a Magento 2 versions of third-party extensions for those that don’t have one
  • Accounting for every custom extension
  • Uninstalling every unused extension while keeping the shop’s functionality
  • Preparing all JavaScript to transition to Magento 2 using RequireJS
  • Find the Magento 2 version of custom plug-ins. Otherwise, document each one and have their CSS ready because with the help of a blank theme, transitioning these will be easy.

Meeting each one of these is a must for the migration process to start.

Update Magento 1 to the current version

It is crucial that your store is clear of any bad practices before the Magento integration solutions transition. Combing through the code is vital because this normally happens in 99% of the stores running on Magento 1. This doesn’t necessarily mean that your shop is a bad project. It just shows how the old version doesn’t highlight these malpractices, and how the new platform is stricter. This is due to a built-in program that combs through the code. This makes detection quicker. By highlighting these, you can start building a better culture which may result in better coding.

When an update to the new version becomes available, it is up to the developer how the migration will commence. There are two options available to them which includes:

  • Converting the backend of Magento from 1.8 to 1.9
  • Using the installation command install path_magento Mage_All_Latest -force

To use the latter option, you have to ensure that the entire cache is clean of folder permission. In addition, the project needs to be re-indexed too.

By completing this step, you are improving your chances of having a successful migration.

Utilizing Magento's migration tool

This tool will allow for convenience in migrating the old MySQL database by utilizing a clean database. This gives you the opportunity to avoid confusion. Which method to use in the e-commerce development of your shop is up to you. With this, you only have to use one. You can get the tool on Github.

It is important to remember that before you use the tool, you have to go through the README.md section. It has tips that might help make the transition smoother and safer while ensuring better performance when you finish a successful migration.

1. Locally mount a server system

When locally migrating a project, you could use either XAMPP, WAMP, or WinMP. In this case, we advise that you use WinMP, but this is more advisable when using Windows. By doing so, you will be able to allow different environments with different PHP programming languages. This will locally migrate the project. By doing so, you will be minimizing the disruption of your project’s day-to-day operations. In addition, this optimizes security and allows for the procedure to be used repeatedly.

Another operating system that we would suggest you should utilize is Linux.

2. Install Magento 1 with the Migrating Store

The goal of this step is to replicate the process of the initial e-commerce development of your store before you begin the migration. Again, as mentioned above, this gives you the opportunity to avoid interruptions in your shop’s operation. That is why you have to locally install your store into another Magento 1 platform by cloning the source code. However, failure can still happen. If so, you have to compress the files containing the source code and keep them local. When doing so, you should include the production database with it.

3. Install Magento 2

For this to happen, the cron systems need disabling. This is automatically done if you are using a Windows operating system. It is different if you are utilizing Linux, although, disabling them is fairly easy to do. You only need a command line that disables the cron tables straight away. This is necessary because this serves as preparation for migrating all the data from the old version to the new Magento.

It is important to take note, however, that when installing the second version of integration solutions by Magento, you have to ensure that you are using the PHP7 language. This, again, gives you installation options. But this is left to the discretion of the users. What this does is allow carrying out tests to check if it fails. At least, if it does, then you can repeat the process until it is a success.

4. Install the Migration Tool during the Clean Installation of the New Integration Solutions by Magento

In order to proceed, you need to ensure that Magento 2 is ready and running. This is vital because, at this point, the migration tool will start moving the data over to the new integration solutions developed by Magento.

Again, we reiterate that this tool is available at GitHub. However, you have to keep a close eye on the version you are downloading. The latest one has a tag of 2.3.4. When this article was written, this was the latest version.

Aside from the migration tool, you will also be needing a composer tool that you install like any application when you are using Windows. Linux, on the other hand, will require a command line.

Moving along, you will require two commands. The first is composer config repositories.data-migration-tool. This particular command will assign a repository to the function of the migration tool. However, in order to do this, you have to set-up an account with Magento. This is necessary because if you need repositories, they will not allow you unless you register. By doing so, you acquire your credentials which are normally just your username and a password as this verifies your account and your identity.

Secondly is the composer require magento / data-migration-tool: 2.3.4. This is the one responsible for ensuring that you download the latest version. This simply verifies that you are downloading the latest version of the platform.

Setting up the data migration tool

You will know when you are getting closer to the end of the process when you reach this point.

When transferring data into the new Magento, you can use the new names of the editions as a guide on where to transfer the data. For those that fall under the community edition, you may transfer them into folders that have the label CE Open Source. For those under the enterprise edition, look for the one with the name EE. However, bear in mind that the process of transferring this data may go against the one rule of Magento – TO NEVER TOUCH THE CORE. Luckily enough, this is to be expected when migrating data. Once complete, erasing these folders is the next step in the e-commerce development of your new shop. As a result, it makes it seem like the CORE was never touched.

Then, it is imperative that you avoid the XML files that have .dst as its suffix. Always look for the folders that contain the config XML files. These are the folders that have files with names such as config, map, and map-tier-price, to name a few. Although, only the config file will be essential for the migration process. Once you are able to identify these files, you should be able to proceed to looking for XMLF tags and add more information.

For this to happen, we will need two components.

The first component is the node. This will be the one in charge of defining the data of the source database. In most cases, it will be just the connection data. This includes the database server, its name, and the user indicator of the database which is verified using only your password.

The second data requirement could either be the apt/etc/loca.xml path which is all in the Magento 1’s store. To locate this file, opening each folder one-by-one is necessary. The file you are looking for should contain an alphanumeric string composing of numbers and letters. This specific combination will need to be copied and pasted into the node to complete the installation of Magento 2.

Mapeo XML files of data

Once the available data has been configured, the next step is to verify the mapping files you currently have. These are the files that ensure that migration of the new Magento integration solutions will be possible. In addition, it will guarantee the continuation of the design. Meaning, how your shop looks like now will look exactly the same in Magento 2. It also takes into consideration what the attributes of the function are and what their probable connections will be. With the help of this information, we will be able to learn how to move the data, and where to move them.

Through this, we will be able to review each of the XML files at the same time validate which ones can be migrated, and they are normally grouped under categories:

  • GENERAL – mapping, configuration, the definition of routine configuration tables, and core_config_data
  • EAV – this defines the attribute and table list
  • LOG – this comprises mapping and table log list
  • MAP – also holds mapping files
  • CUSTOMER ATTRIBUTES – attributes and lists the tables
  • OTHERS – this holds codes that are related to the orders in your shop such as OrderGrids and SalesOrder

This has to be the most tedious part of the migration process. Having to copy all the data and information into the new system, and then having to rename each one does that. In addition, for the tool to exactly know the location of the files, every file that needs to be mapped has to be indicated. Otherwise, the tool might have a hard time finding those files. As a result, your shop might end up not functioning as well as you are hoping.

Starting data migration of the new Magento integration solutions

Executing a series of commands is the next step after reconfiguring the files. The first command that we you are using is shown below:

php bin / magento migrate: settings

So, if you are configuring a file from version 1.9.4.0 and is located in path vendor / magento / data-migration-tool / etc / ce-to-ce / 1.9.4.0 / config.xml, then the command to use is as follows:

php bin / magento migrate: settings vendor / magento / data-migration-tool / etc / ce-to-ce / 1.9.4.0 / config.xml

By using this command, the configuration file is now compatible with Magento 2.

Finally, in order to migrate all the the entire data from your old shop to Magento, you need to use the code below:

php bin / magento migrate: data

However, keep in mind that you can’t skip to this point right away. You need to accomplish and meet all the steps above before this code can migrate your shop.

Take notice of how this code is similar to the previous one. However, instead of store vendor, you simply replace that part of the code to data vendor:

php bin / magento migrate: data vendor / magento / data-migration-tool / etc / ce-to-ce / 1.9.4.0 / config.xml

Once you execute this command, you have to wait until it says that the migration of the new Magento integration solutions is successful. How long the waiting time depends on the size of the migrating data.

As a side note, you don’t have to worry about interruption of your operations while the migration is ongoing. Your shop will continue to operate normally. Although, this will still be under Magento 1. For it to completely convert to the second version, it will require the execution of a command.

php bin / magento migrate: delta vendor / magento / data-migration-tool / etc / ce-to-ce / 1.9.4.0 / config.xml

Once this is executed, then you can truly say that your entire shop has fully migrated to Magento 2. This is where the Quality Assurance team comes in. What they do is continually assess the performance of your shop under the new terms. They take into account its functionaility and User Experience. As you continue to operate under the new Magento, they will resolve any issues they find. Once all issues are resolved, you can start optimizing your website.

Transitioning from Magento 1 to Magento 2 is not easy. Imagine uprooting an entire shop to move. Luckily, Magento is supportive enough to ensure that this is smooth without having to interrupt your daily operations. It is a huge endeavor. However, once it is over, it provides better functions and a smoother user experience which will only benefit you more.

Rasheid Scarlett

CEO and Founder

Rasheid has an expansive web development experience in providing superior IT solutions for any industry.

Related Blogs

Browse all