Migratie naar Magento 2 de site migreren

In het vorige artikel van deze serie gaf ik een overzicht van het Magento-migratieproces en besprak ik een paar van de voor- en nadelen waarmee ik rekening moest houden bij het plannen van uw migratie. In dit artikel gaan we dieper in op de vuile technische details van het daadwerkelijke migratieproces.

De migratietool upgraden

Omdat we de Magento-migratietool al hebben geïnstalleerd met behulp van de instructies in het vorige artikel, is de volgende stap het correct configureren voor een succesvolle migratie. Voordat u doorgaat met het configureren van de migratietool, moet u controleren of de versie van uw migratietool overeenkomt met uw Magento-installatieversie en als dat niet het geval is, moet u de versie van de migratietool bijwerken.

Als u migreert naar Magento versie 2.0.0, moet u Migration Tool versie 2.0.0 hebben, net zo als u Magento versie 2.0.2 hebt, hebt u versie 2.0.2 van migratietool nodig. Als er een niet-overeenkomende versie is, zal de migratie niet succesvol zijn, omdat verschillende Magento-versies verschillende databasestructuren kunnen hebben en verschillende toewijzingsmechanismen nodig hebben.

Gebruik de volgende opdracht om de versie van uw nieuwe Magento-installatie te controleren:

php / bin / magento --version

Controleer nu de versie van de Magento-migratietool. Ga hiervoor naar de directory van uw migratietool en open het bestand composer.json. De locatie van dit bestand zal ongeveer zo zijn:

Magento root directory / vendor / magento / data-migration-tool / composer.json

Zoek in dit bestand de waarde van versie, en dat is de versie van uw migratietool. Als de versie van Magento en het migratietool overeenkomen, bent u klaar om door te gaan naar de volgende stap. Als dit echter niet het geval is, moet u de versie van de migratietool wijzigen zodat deze overeenkomt met de Magento-versie.

Neem voordat u doorgaat met versie-upgrade een back-up van de map met gegevensmigratiehulpmiddelen, omdat het upgradeproces de inhoud van deze map zal wijzigen en als er iets misgaat, kunt u de originele versie misschien niet terugkrijgen als u geen back-up. Zodra de back-up is voltooid, gaat u eenvoudig naar uw Magento-hoofdmap op uw server en voert u de volgende opdracht in:

componist heeft magento / data-migration-tool nodig: 2.0.2

Het laatste ding in de opdracht is je Magento-versie. In dit geval is het 2.0.0. Als de jouwe anders is, verander deze dan dienovereenkomstig.

Nu we ervoor hebben gezorgd dat we passende versies van Magento en de migratietool hebben, is het tijd om de migratietool op de juiste manier te configureren.

De migratie configureren

Om de Magento-migratie te configureren, moet u het configuratiebestand en de toewijzingsbestanden maken / bijwerken. U kunt deze bestanden op deze maplocatie vinden:

Magento2 hoofdmap / leverancier / magento / data-migratie-tool / etc / ce-to-ce

In dit artikel demonstreer ik de communityeditie voor migratie van communityitems, dus de laatste map in het bovenstaande pad is ce-to-ce, maar als u te maken hebt met de enterprise-editie, is dit ee in plaats van ce.

Het maken van een correct geconfigureerd config.xml-bestand is een must, voordat u een migratie start. Om het bestand config.xml aan te maken logt u in op uw Magento-server en gaat u naar deze map:

/ Verkoper / magento / data-migratie-instrument / etc // ce

Gebruik deze opdracht om het configuratiebestand te maken:

cp config.xml.dist config.xml

Nu, eenmaal gemaakt, opent u het in een teksteditor en plaatst u deze voorbeeldcode:

       magento1 Kijk naar Magento 1 root directory / app / etc / local.xml 

Hier de gastheer, naam en gebruiker velden van zowel bron- als doeldatabanken zijn verplicht. Ook de crypt_key veld is verplicht. De rest van de velden zoals database wachtwoord en source_prefix zijn optioneel.

De crypt_key veld moet dezelfde sleutel hebben als die te vinden is in de key-tag van het local.xml-bestand, te vinden in deze map:

/app/etc/local.xml

Nu we het bestand config.xml hebben gemaakt, is de volgende optionele stap het bijwerken van de toewijzingsbestanden. De migratietool gebruikt toewijzingsbestanden om databasetoewijzing uit Magento 1 tot Magento 2 uit te voeren. De toewijzingsbestanden bevatten informatie over het wijzigen van de tabel- en veldnamen van de database, welke tabellen en velden kunnen worden genegeerd, en andere informatie op die manier. U kunt de toewijzingsbestanden in deze map vinden:

/ Verkoper / magento / data-migratie-instrument / etc

Ga door deze bestanden en als u een van deze bestanden moet bijwerken, maakt u een kopie van het bestand dat u wilt bewerken en verwijdert u de .dist uit de naam. Als u bijvoorbeeld het bestand map.xml.dist gebruikt, maakt u een kopie van dit bestand met de naam map.xml. Als u klaar bent met het bewerken, moet u het bestand config.xml bijwerken met de nieuwe bestandsnaam in het optionele knooppunt. Als u het bestand map.xml hebt toegevoegd, wordt de code van het eerder gemaakte bestand config.xml als volgt:

       magento1 Kijk naar Magento 1 root directory / app / etc / local.xml etc / ce naar ce / 1.9.1.0 / map.xml.dist  

Instellingen, gegevens en delingen migreren

Nu we klaar zijn met alle migratieplanning, installaties, configuraties, enzovoort, laten we het migratieproces daadwerkelijk starten. Daarvoor moet u de migratietool gebruiken. Als u de migratietool wilt uitvoeren, voert u uw Magento-server in als een gebruiker met schrijfrechten. Als u Magento-opdrachten vanuit een willekeurige map wilt uitvoeren, voegt u Magento Root Directory / bin toe aan uw systeempad of voert u de opdrachten op deze manier uit:

CD / bin

Gebruik de volgende opdracht om de migratie te starten:

bin / magento migrate:

Hier kan de modus instellingen, gegevens of delta zijn en het pad naar het bestand config.xml een absoluut pad.

U moet de migratie in deze volgorde uitvoeren:

  1. Instellingen migreren
  2. Gegevens migreren
  3. Migrate delta (changes)

Door migratie-instellingen worden instellingen voor betalingen, belastingen en verzending gemigreerd met betrekking tot uw winkels, websites, enzovoort. Voer de volgende opdracht uit om de migratie van de instellingen uit te voeren:

bin / magento migrate: instellingen 

Hierdoor worden mogelijk niet alle gegevens gemigreerd. U moet inloggen met het admin-paneel om handmatig te controleren of alles correct is overgedragen. Als er een probleem is, kunt u deze verklaring opnieuw uitvoeren, maar deze keer gebruikt u het reset-argument om de migratie vanaf het begin te starten. De opdracht ziet er als volgt uit:

bin / magento migrate: instellingen [-r | --reset] 

Zodra u klaar bent met de instellingen, begint u met het migreren van gegevens. De procedure is hetzelfde als hiervoor, met een enkele wijziging van het argument. De uit te voeren opdracht ziet er als volgt uit:

bin / magento migrate: data 

Wanneer u gegevensmigratie uitvoert, controleert de migratietool of de databasetabellen en velden van uw oude en nieuwe Magento-versies consistent zijn. In geval van inconsistentie probeert het de informatie uit de toewijzingsbestanden te vinden. 

Als het het daar niet vindt, geeft het een foutmelding met verontrustende tabel- en veldnamen. Het probleem treedt meestal op wanneer u een Magento-extensie gebruikt waarvan de tabelstructuur niet compatibel is met de Magento 2-databasestructuur. In dat geval kunt u de Magento 2-versie van de extensie installeren of kunt u die bestanden negeren door ze toe te voegen  tags voor de map.xml het dossier.

Zodra u het probleem hebt opgelost, kunt u de opdracht Gegevens migreren opnieuw uitvoeren. Eén ding om in gedachten te houden, is dat de migratietool de voortgang bij het migreren bijhoudt, en als je het opnieuw uitvoert, wordt het hervat van waar het nog eerder was. Om het vanaf het begin te starten, kunt u het reset-commando als volgt gebruiken:

bin / magento migrate: data [-r | --reset] 

De volgende stap is het migreren van de wijzigingen (delta). 

Zoals besproken in het vorige artikel van deze serie, moet u, voordat u begint met het migratieproces, de Magento 1 cron-taak en ook alle activiteiten in het Magento 1 admin-panel stoppen, behalve de noodzakelijke problemen met het orderbeheer, en de activiteit niet hervatten tot de tijdmigratieproces is voltooid. 

Hoewel u de meeste activiteiten in het Magento 1-beheerdersdashboard stopt voordat u het migratieproces start, zullen er enkele problemen met de verwerking van de bestellingen aan de gang zijn. Ook kunnen er tijdens deze periode mogelijk nieuwe gebruikersrecensies of wijzigingen in klantprofielen optreden. Nu moet u die gegevens migreren met incrementele updates.

Als u de incrementele updates wilt migreren, voert u de volgende opdracht uit:

bin / magento migrate: delta [-r | --reset] 

Hier is het noodzakelijk om in gedachten te houden dat de incrementele migratie continu loopt, tenzij u deze afbreekt met de opdracht CTRL + C. Een ander ding om op te merken is dat deze tool alleen gegevens migreert die zijn gegenereerd door Magento's eigen modules. Als een externe extensie in de tussentijd bepaalde gegevens genereert / updatet, wordt die niet gemigreerd. Als u wilt dat die gegevens ook worden gemigreerd, moet u de Magento 2-configuratiebestanden bijwerken. Dat vereist enige voorkennis van de interne specificatie van het datamigratietool en valt buiten het bestek van dit artikel.

Handmatig de gegevens migreren

Nogmaals verwijzend naar het eerste artikel van deze serie, hoewel de migratietool het grootste deel van het zware migratieproces zal uitvoeren, zijn er drie soorten bestanden die u handmatig moet overzetten:

  1. Mediabestanden
  2. Store Front Design
  3. ACL's (toegangscontrolelijsten)

Om de mediabestanden over te brengen, ga je eerst naar je Magento 1 admin panel. Ga naar Systeem> Configuratie> Geavanceerd> Systeem.

Onder de Winkelconfiguratie voor media tab, Selecteer de Mediadatabase uit de lijst en klik Synchroniseren.

Ga nu naar het Magento 2-beheerderspaneel, Winkels> Configuratie> Geavanceerd> Systeem.

Onder Opslagconfiguratie voor media, selecteer de media-database, en klik Synchroniseren.

Dit zorgt voor de mediabestanden die zijn opgeslagen in de Magento-database. Om nu andere mediabestanden over te zetten, kopieert u de volledige mediamap van uw Magento 1-hoofdmap en plakt u deze op deze locatie in Magento 2:

Magento 2 root directory / pub / media

Een heel belangrijk ding om op te merken is dat je tijdens het kopiëren het .htaccess-bestand niet moet vervangen. Het is beter om een ​​back-up kopie van het .htaccess-bestand te maken voordat de media wordt overgedragen, zodat u het bestand niet per ongeluk vervangt.

Om de themabestanden van uw winkel over te zetten, moet u de bestanden .phtml, js, css en xml overbrengen naar de juiste locaties in Magento 2. De mapstructuur is anders dan Magento 1. Dit artikel in de Magento dev docs geeft je hebt een goed overzicht van de nieuwe themamappenstructuur van Magento 2.

Naast het handmatig overzetten van themabestanden, moet u ook handmatig referenties maken voor de REST- en SOAP-webservices die u op uw site gebruikt, en moet u ook beheerders opnieuw maken en hun toegangsrechten instellen.

Post-migratiestappen

Nu u alle stappen voor migratie hebt voltooid, kunt u nog een paar dingen doen om een ​​volledig functionele Magento 2-website te hebben.

  • U moet Magento 1 in de onderhoudsmodus plaatsen en een Magento 2 cron-taak starten.
  • Spoel de Magento 2-caches door en indexeer alle indexen opnieuw.
  • Wijzig DNS om naar Magento 2 te verwijzen, om verkeer naar de nieuwe site om te leiden.

Als je het tot nu toe hebt gemaakt, gefeliciteerd! Uw geheel nieuwe Magento 2-winkel is klaar. De tijd en moeite die je besteedt om de website over te zetten naar de nieuwere Magento-versie, is echt de moeite waard. Deze nieuwe versie van Magento biedt verbeterde prestaties en schaalbaarheid, nieuwe functies voor het verbeteren van conversiepercentages en zakelijke behendigheid en productiviteitsverbeteringen. Uw site is klaar om naar het volgende niveau te gaan met deze verbeterde functies.