{"id":2632,"date":"2017-05-30T17:04:32","date_gmt":"2017-05-30T17:04:32","guid":{"rendered":"http:\/\/cloudkul.com\/blog\/?p=2632"},"modified":"2017-06-14T11:32:56","modified_gmt":"2017-06-14T11:32:56","slug":"how-to-migrate-magento-1-x-store-magento-2-x","status":"publish","type":"post","link":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/","title":{"rendered":"How to Migrate your Magento 1.x store to Magento 2.x"},"content":{"rendered":"<p>Before you start migration,you need to know the server architecture of your <strong>Magento1<\/strong> store. We must aware of the which versions of software our current server is running and which software we need to upgrade while migrating our store.<\/p>\n<p><strong>My Magento1 server configurations are as follows<\/strong><\/p>\n<p><strong>Operating System<\/strong> <strong>:<\/strong> Ubuntu 14.04.02<\/p>\n<p><strong>Apache version<\/strong> <strong>:<\/strong> 2.4.7<\/p>\n<p><strong>Mysql version<\/strong> <strong>:<\/strong> 5.5.55<\/p>\n<p><strong>PHP version : <\/strong>5.5.9<\/p>\n<p><strong>PHP modules :\u00a0<\/strong> mcrypt, curl, gd, pdo,mysql, mysqli, mcrypt, readline, pdo_mysql<\/p>\n<p><strong>Magento version : <\/strong>1.9.3.2<\/p>\n<p>This is the screen shot of my current <strong>Magento1\u00a0 <\/strong>store<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/magento1-migration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2634\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/magento1-migration.png\" alt=\"\" width=\"1273\" height=\"595\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>My Magento2 server configurations are as follows<\/strong><\/p>\n<p><strong>Operating System<\/strong> <strong>:<\/strong> Ubuntu 14.04.02<\/p>\n<p><strong>Apache version<\/strong> <strong>:<\/strong> 2.4.7<\/p>\n<p><strong>Mysql version<\/strong> <strong>:<\/strong> 5.6.33<\/p>\n<p><strong>PHP version : <\/strong>7.0.19<strong><br \/>\n<\/strong><\/p>\n<p><strong>PHP modules :\u00a0<\/strong> opcache, pdo, xml, calendar, ctype, curl, dom, exif, fileinfo, ftp, gd, gettext, iconv, intl, json, mbstring, mcrypt, mysqli, pdo_mysql, phar, posix, readline, shmop, simplexml, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip<\/p>\n<p><strong>Magento version : <\/strong>2.1.6<strong><br \/>\n<\/strong><\/p>\n<p>This is the screen shot of my new <strong>Magento2<\/strong> store.<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/magento2-migration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2638\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/magento2-migration.png\" alt=\"\" width=\"1273\" height=\"633\" \/><\/a><\/p>\n<p>After migrating from Magento1 to Magento2 we will be able to view the products of the Magento1 store in our new Magento2 store.<\/p>\n<p>Before you start migration, take backup of your Magento1 store files and database<\/p>\n<p><strong>Install Data Migration Tool<\/strong><\/p>\n<p>Data Migration Tool is a command-line interface for transferring data from Magento1 to Magento2.<\/p>\n<p>Login to your new Magento2 store and goto your magento2 root directory. Suppose my root directory is <strong>\/home\/magento2\/www<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">su - magento2\r\ncd \/home\/magento2\/www\r\ncomposer config repositories.data-migration-tool git https:\/\/github.com\/magento\/data-migration-tool\r\ncomposer require magento\/data-migration-tool:2.1.6 # 2.1.6 is my current magento2 version<\/pre>\n<p>It will ask credential for repo.magento.com. After entering the credentials it will update the dependencies.<\/p>\n<p>Data Migration Tool operates mainly 3 modes of operation<\/p>\n<ol>\n<li>It will migrate the store configurations to the new store<\/li>\n<li>It will migrate your database<\/li>\n<li>It will transfer incremental data updates while new data added to Magento1 <span class=\"glossary-term\">storefront<\/span> and a<span class=\"glossary-term\">dmin<\/span> panel while running previous migration modes<\/li>\n<\/ol>\n<p><strong>Migrate your store configuration<\/strong><\/p>\n<p>Both Magento1 and Magento2 are the community editions and my Magento1 version is 1.9.3.2. So I need to create config.xml according to this.<\/p>\n<pre class=\"lang:sh decode:true\"># my present working directory is \/home\/magento2\/www\r\ncp vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml.dist vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml\r\ncp vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/map.xml.dist vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/map.xml<\/pre>\n<p>Configure your database connectivity. Open <strong>vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml <\/strong>and make the following changes.<\/p>\n<pre class=\"lang:xhtml decode:true\"> &lt;source&gt;\r\n        &lt;database host=\"192.168.1.53\" name=\"mage1db\" user=\"mage1\" password=\"mage1\"\/&gt;\r\n    &lt;\/source&gt;\r\n    &lt;destination&gt;\r\n        &lt;database host=\"localhost\" name=\"mage2db\" user=\"mage2\" password=\"mage2\"\/&gt;\r\n    &lt;\/destination&gt;\r\n<\/pre>\n<p>In source filed give all the information about\u00a0 Magento1 database\u00a0 and in destination field give all the information about the Magento2 database.<\/p>\n<p>Now, run the following command to migrate your settings.<\/p>\n<pre class=\"lang:sh decode:true\">php bin\/magento migrate:settings vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml<\/pre>\n<p>This will migrate your configuration setting.<\/p>\n<p><strong>Migrate your Database<\/strong><\/p>\n<p>We have already config.xml file. We just need to run the command to migrate the data.<\/p>\n<pre class=\"lang:default decode:true \">php bin\/magento migrate:data vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml<\/pre>\n<p>There may be some issue while migrating your database.<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/data-migrate.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2648\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/data-migrate.png\" alt=\"\" width=\"728\" height=\"330\" \/><\/a><\/p>\n<p>This issue occurs because some tables in the Magento1 are not present in Magento2. You need to check which tables or which fields are missing. Then you need to manually create the table and fields.<\/p>\n<p>For example, compare these two tables<\/p>\n<p>Magento1 store database<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage1-db.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2664\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage1-db.png\" alt=\"\" width=\"1003\" height=\"385\" \/><\/a><\/p>\n<p>Magento2 store database<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage2-db.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2688\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage2-db.png\" alt=\"\" width=\"1019\" height=\"487\" \/><\/a><\/p>\n<p>In Magento2 database two columns <strong>name<\/strong> and <strong>visibility <\/strong>are missing. So we need to add these two columns manually. After creating the other missing fields and tables we will be able to migrate the data.<\/p>\n<p>If you want to skip some of the migrating steps, you can comment the steps in <strong>config.xml<\/strong> file<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/skip-migration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2770\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/skip-migration.png\" alt=\"\" width=\"719\" height=\"259\" \/><\/a><\/p>\n<p>I want to skip the EAV step, so I have commented the lines for EAV step.<\/p>\n<p><strong>Migrate changes<\/strong><\/p>\n<p>Now it is time to migrate the additional data that added to the store since last time we migrated the data. The data may be customer order,reviews,transactions\u00a0 and small changes in the backend.<\/p>\n<p>To run the incremental migration, run the following command<\/p>\n<pre class=\"lang:sh decode:true\">php bin\/magento migrate:delta vendor\/magento\/data-migration-tool\/etc\/ce-to-ce\/1.9.3.2\/config.xml<\/pre>\n<p>It will run continuously until you press CTRL+C . When you think you have migrated the additional data, press CTRL+C and stop the process.<\/p>\n<p><strong>Copy media files<\/strong><\/p>\n<p>Now copy the media files from Magento1 store to Magento2 store<\/p>\n<pre class=\"lang:sh decode:true\">rsync -rv magento1@192.168.1.53:\/home\/magento1\/www\/media\/  \/home\/magento2\/www\/pub\/media\/ --exclude '.htaccess'<\/pre>\n<p><strong>Post Migration Task<\/strong><\/p>\n<p>After migration put Magento1 in maintenance mode and stop backend tasks.<\/p>\n<p>Start Magento2 cron jobs.<\/p>\n<p>Flush Magento2 cache and reindex all the indexer.<\/p>\n<pre class=\"lang:default decode:true \">php bin\/magento cache:flush\r\nphp bin\/magento indexer:reindex<\/pre>\n<p>Restart your apache\/nginx services and make your new Magento2 store live.<\/p>\n<p>After migration my new <strong>Magento2<\/strong> store look like this<\/p>\n<p><a href=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage2-after-migration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2767\" src=\"http:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/mage2-after-migration.png\" alt=\"\" width=\"1281\" height=\"636\" \/><\/a><\/p>\n<p>This is all about migrating your Magento1 store to Magento2. If you have any doubts regarding procedure you can ask me in the comment.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">\u00a0\u00a0 <a href=\"http:\/\/cloudkul.com\/contact\/\" target=\"_blank\" rel=\"noopener noreferrer\">IN CASE OF ANY QUERY, CONTACT US<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before you start migration,you need to know the server architecture of your Magento1 store. We <a class=\"text-primary\" title=\"read more\" href=\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":8,"featured_media":2761,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[20],"tags":[173],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul\" \/>\n<meta property=\"og:description\" content=\"Before you start migration,you need to know the server architecture of your Magento1 store. We [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudkul\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-30T17:04:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-06-14T11:32:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/aDuOVE3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"848\" \/>\n\t<meta property=\"og:image:height\" content=\"422\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"suranjan horrow\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\",\"url\":\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\",\"name\":\"How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul\",\"isPartOf\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\"},\"datePublished\":\"2017-05-30T17:04:32+00:00\",\"dateModified\":\"2017-06-14T11:32:56+00:00\",\"author\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/a653191c790a89b07d4b4aaefc3e2809\"},\"breadcrumb\":{\"@id\":\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Migrate your Magento 1.x store to Magento 2.x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#website\",\"url\":\"https:\/\/cloudkul.com\/blog\/\",\"name\":\"Cloudkul\",\"description\":\"Host your eCommerce Store on AWS with Optimized Performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudkul.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/a653191c790a89b07d4b4aaefc3e2809\",\"name\":\"suranjan horrow\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dfd7f87bc7d62c1426e1f4c07653ff00?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dfd7f87bc7d62c1426e1f4c07653ff00?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g\",\"caption\":\"suranjan horrow\"},\"sameAs\":[\"http:\/\/webkul.com\"],\"url\":\"https:\/\/cloudkul.com\/blog\/author\/suranjan-horrow869\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/","og_locale":"en_US","og_type":"article","og_title":"How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul","og_description":"Before you start migration,you need to know the server architecture of your Magento1 store. We [...]","og_url":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/","og_site_name":"Cloudkul","article_published_time":"2017-05-30T17:04:32+00:00","article_modified_time":"2017-06-14T11:32:56+00:00","og_image":[{"width":848,"height":422,"url":"https:\/\/cloudkul.com\/blog\/wp-content\/uploads\/2017\/05\/aDuOVE3.png","type":"image\/png"}],"author":"suranjan horrow","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/","url":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/","name":"How to Migrate your Magento 1.x store to Magento 2.x - Cloudkul","isPartOf":{"@id":"https:\/\/cloudkul.com\/blog\/#website"},"datePublished":"2017-05-30T17:04:32+00:00","dateModified":"2017-06-14T11:32:56+00:00","author":{"@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/a653191c790a89b07d4b4aaefc3e2809"},"breadcrumb":{"@id":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cloudkul.com\/blog\/how-to-migrate-magento-1-x-store-magento-2-x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Migrate your Magento 1.x store to Magento 2.x"}]},{"@type":"WebSite","@id":"https:\/\/cloudkul.com\/blog\/#website","url":"https:\/\/cloudkul.com\/blog\/","name":"Cloudkul","description":"Host your eCommerce Store on AWS with Optimized Performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudkul.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/a653191c790a89b07d4b4aaefc3e2809","name":"suranjan horrow","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dfd7f87bc7d62c1426e1f4c07653ff00?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dfd7f87bc7d62c1426e1f4c07653ff00?s=96&d=https%3A%2F%2Fs.gravatar.com%2Favatar%2F6148c37469011bc2f8e491ca8f5de495%3Fs%3D80&r=g","caption":"suranjan horrow"},"sameAs":["http:\/\/webkul.com"],"url":"https:\/\/cloudkul.com\/blog\/author\/suranjan-horrow869\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/2632"}],"collection":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/comments?post=2632"}],"version-history":[{"count":19,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/2632\/revisions"}],"predecessor-version":[{"id":2783,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/posts\/2632\/revisions\/2783"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media\/2761"}],"wp:attachment":[{"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/media?parent=2632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/categories?post=2632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudkul.com\/blog\/wp-json\/wp\/v2\/tags?post=2632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}