Migration till Magento 2 Migrering av webbplatsen

I den tidigare artikeln i den här serien gav jag en översikt över Magento-migrationsprocessen och diskuterade några av fördelarna och nackdelarna att överväga när du planerar din migrering. I den här artikeln gräver vi lite djupare i de smutsiga tekniska detaljerna i den faktiska migrationsprocessen.

Uppgradering av migreringsverktyget

Eftersom vi redan har installerat Magento migreringsverktyget med anvisningarna i föregående artikel, är nästa steg att konfigurera det ordentligt för framgångsrik migrering. Innan du går vidare med att konfigurera migreringsverktyget måste du kontrollera att din migreringsverktygsversion matchar din Magento installationsversion, och om det inte gör det, måste du uppdatera migreringsverktygsversionen.

Om du migrerar till Magento version 2.0.0 måste du ha Migrationsverktyg version 2.0.0, liksom om du har Magento version 2.0.2 behöver du migreringsverktyg version 2.0.2. Om det inte finns en version mismatch kommer migreringen inte att lyckas, eftersom olika Magento-versioner kan ha olika databasstrukturer och behöver olika kartläggningsmekanismer.

För att kontrollera versionen av din nya Magento-installation, använd följande kommando:

php / bin / magento - version

Kontrollera nu versionen av Magento migreringsverktyget. För att göra det, gå till din migreringsverktyg katalog och öppna filen composer.json. Placeringen av den här filen kommer att bli så här:

Magento rotkatalog / leverantör / magento / data-migration-tool / composer.json

I denna fil, hitta värdet av version, och det är din Migrationsverktygsversion. Om versionen av Magento och migreringsverktyget matchar, är du redo att fortsätta till nästa steg. Men om de inte gör det, måste du ändra migreringsverktygsversionen för att matcha Magento-versionen.

Innan du fortsätter med versionsuppgradering, ta en säkerhetskopia av katalogen för data-migreringsverktyg, eftersom uppgraderingsprocessen ändrar innehållet i mappens innehåll, och om något går fel kan du kanske inte få tillbaka den ursprungliga om du inte Jag har ingen säkerhetskopia. När säkerhetskopieringen är klar, gå till din Magento rotkatalog på din server och skriv in följande kommando:

kompositör kräver magento / data-migreringsverktyg: 2.0.2

Det sista i kommandot är din Magento-version. I detta fall är det 2,0.0. Om din är annorlunda, ändra den i enlighet därmed.

Nu när vi har säkerställt att vi har matchande versioner av Magento och migreringsverktyget, är det dags att konfigurera migreringsverktyget ordentligt.

Konfigurera migreringen

För att konfigurera Magento-migreringen måste du skapa / uppdatera konfigurationsfilen och mappfilerna. Du kan hitta dessa filer i den här mappens plats:

Magento2 rotkatalog / leverantör / magento / data-migreringsverktyg / etc / ce-to-ce

I den här artikeln demonstrerar jag gemenskapsutgåvan till migrationsutgåvan för gemenskapsutgåva, så den sista mappen på ovanstående väg är ce-ce-ce, men om du arbetar med företagsupplagan kommer det att vara ee istället för ce.

Att skapa en korrekt konfigurerad config.xml-fil är ett måste innan du initierar någon migrering. För att skapa config.xml-filen loggar du in på din Magento-server och flyttar till den här katalogen:

/ Säljaren / magento / data-migration-tool / etc // ce

Använd det här kommandot för att skapa konfigurationsfilen:

cp config.xml.dist config.xml

Nu, när den är skapad, öppna den upp i vilken textredigerare som helst och sätt in den här provkoden:

       magento1 Titta på Magento 1 rotkatalog / app / etc / local.xml 

Här värd, namn och användare Fält i både käll- och destinationsdatabaser är obligatoriska. Även crypt_key fält är obligatoriskt. Resten av fälten som databas Lösenord och source_prefix är valfria.

De crypt_key Fältet ska ha samma nyckel som finns i nyckelkoden i filen local.xml, som finns i den här katalogen:

/app/etc/local.xml

Nu när vi har skapat config.xml-filen, uppdaterar nästa valfria steg mappfilerna. Migreringsverktyget använder mappfiler för att utföra databasmappning från Magento 1 till Magento 2. Kartläggningsfilerna innehåller information om att ändra tabell- och fältnamn på databasen, vilka tabeller och fält som kan ignoreras och annan information som den. Du kan hitta kartläggningsfilerna i den här katalogen:

/ Säljaren / magento / data-migration-tool / etc

Gå igenom dessa filer, och om du behöver uppdatera någon av dessa, gör en kopia av filen du behöver redigera och ta bort .dist från namnet. Om du till exempel använder filen map.xml.dist, gör du en kopia av den här filen med namnet map.xml. När du är klar med att redigera dem måste du uppdatera config.xml-filen med det nya filnamnet i den valfria noden. Om du lagt till map.xml-filen blir den tidigare skapade config.xml-filen kod så här:

       magento1 Titta på Magento 1 rotkatalog / app / etc / local.xml etc / ce-till-ce / 1.9.1.0 / map.xml.dist  

Migrera inställningar, data och Delta

Nu när vi är färdiga med all migrationsplanering, installationer, konfigurationer och så vidare, låt oss faktiskt starta migreringsprocessen. För det måste du köra migreringsverktyget. För att köra migreringsverktyget, ange din Magento-server som en användare med skrivbehörigheter. För att köra Magento-kommandon från vilken katalog som helst, lägg till Magento Root Directory / bin till din systemväg eller så kan du köra kommandona på följande sätt:

CD / bin

Använd följande kommando för att starta migrering:

bin / magento migrera:

Här kan läget antingen vara inställningar, data eller delta, och sökvägen till config.xml-filen kommer att vara en absolut väg.

Du måste utföra migreringen i den här ordningen:

  1. Migrera inställningar
  2. Migrera data
  3. Migrera delta (ändringar)

Migrera inställningar kommer att migrera betalnings-, skatte- och leveransinställningar som är relaterade till dina butiker, webbplatser etc. För att köra migrationsinställningarna, kör det här kommandot:

bin / magento migrera: inställningar 

Det här får inte migrera alla data. Du måste logga in med administratörspanelen för att manuellt kontrollera om allt är överfört korrekt. Om det finns något problem kan du återföra detta uttalande, men den här gången använder du återställningsargumentet för att starta migreringen från början. Kommandot kommer att se ut så här:

bin / magento migrera: inställningar [-r | --reset] 

När du är klar med inställningarna börjar du migrera data. Förfarandet är detsamma som tidigare, med ett enda argumentbyte. Kommandot som ska utföras ser så här ut:

bin / magento migrera: data 

När du kör dataöverföring kontrollerar migreringsverktyget att databastabellerna och fälten i dina gamla och nyare Magento-versioner är konsekventa. Vid inkonsekvens försöker man hitta informationen från kartfilerna. 

Om den inte hittar den där, kommer det att kasta ett fel som anger störande tabell- och fältnamn. Problemet uppstår oftast när du använder en Magento-förlängning vars tabellstruktur inte överensstämmer med Magento 2-databasstrukturen. I så fall kan du antingen installera Magento 2-versionen av tillägget eller du kan ignorera de här filerna genom att lägga till  taggar till map.xml fil.

När du har löst problemet kan du köra kommandot migrera data igen. En sak att komma ihåg här är att migreringsverktyget håller koll på framstegen under migrering, och när du kör det igen, återupptas det från det där det fanns kvar. För att tvinga det att börja från början kan du använda återställningskommandot så här:

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

Nästa steg är att migrera ändringarna (delta). 

Som diskuterats i den föregående artikeln i denna serie, innan du börjar migreringsprocessen, bör du stoppa Magento 1 cron-jobbet och även all aktivitet i administratörspanelen Magento 1 än nödvändiga orderhanteringsproblem och fortsätt inte aktiviteten till tid migreringsprocessen är klar. 

Även om du stoppar den flesta aktiviteten i administratörspanelen Magento 1 innan du startar migreringsprocessen, kommer det att hända att vissa beställningsproblem uppstår. Det kan också hända att nya användarrecensioner eller ändringar i kundprofiler uppstår under denna tid. Nu måste du migrera data med inkrementella uppdateringar.

För att migrera de inkrementella uppdateringarna, kör följande kommando:

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

Här är det nödvändigt att komma ihåg att inkrementell migrering körs kontinuerligt om du inte avbryter det med CTRL + C-kommandot. En annan sak att notera här är att det här verktyget bara migrerar data som genereras av Magento egna moduler. Om en förlängning från tredje part genererar / uppdaterar vissa data under tiden kommer det inte att migreras. Om du önskar att data ska migreras så måste du uppdatera Magento 2 config-filerna. Det behöver lite förkunskap om data migrationsverktygets interna specifikation, och det ligger utanför tillämpningsområdet för denna artikel.

Migrera data manuellt

Återigen refererar till den första artikeln i den här serien, men migreringsverktyget kommer att göra det mesta av den tunga lyftningen av migreringsprocessen. Det finns tre typer av filer som du måste överföra manuellt:

  1. Mediefiler
  2. Store Front Design
  3. ACL (Access Control Lists)

För att överföra mediefilerna, gå först till din Magento 1 admin panel. Gå till System> Konfiguration> Avancerat> System.

Under Spara konfiguration för media fliken, välj den Mediatabell från listan och klicka på Synkronisera.

Gå nu till administratörspanelen Magento 2, Butiker> Konfiguration> Avancerat> System.

Under Lagringskonfiguration för media, Välj mediedatabasen, och klicka Synkronisera.

Detta tar hand om de mediefiler som lagras i Magento-databasen. Om du vill överföra andra mediefiler kopierar du hela mediefappen från din Magento 1-rotkatalog och klistrar och sammanfogar den på den här platsen i Magento 2:

Magento 2 rotkatalog / pub / media

En mycket viktig sak att notera här är att medan du kopierar bör du inte ersätta .htaccess-filen. Det är bättre att ta en säkerhetskopia av .htaccess-filen innan mediaöverföringen, så att du inte kommer att ersätta filen av misstag.

För att överföra temafilerna i din butik måste du överföra .phtml, js, css och xml-filer till lämpliga platser i Magento 2. Mappstrukturen är annorlunda än Magento 1. Den här artikeln i Magento dev docs kommer att ge Du får en bra översikt över Magento 2: s nya mappstruktur.

Förutom att manuellt överföra temafiler måste du också manuellt återskapa referenser för REST- och SOAP-webbtjänsterna som du använder på din webbplats, och du måste också återskapa administrativa användare och ställa in deras behörigheter för åtkomst.

Efter-migrationssteg

Nu när du har genomfört alla steg som krävs för migrering, här är några sista saker att göra för att få en fullt fungerande Magento 2-webbplats.

  • Du måste lägga Magento 1 i underhållsläge och starta ett Magento 2 cron-jobb.
  • Spola Magento 2-cacharna och re-indexera alla index.
  • Ändra DNS för att peka på Magento 2, för att avleda trafik till den nya sajten.

Om du har gjort det hittills, grattis! Din nya Magento 2 butik är klar. Den tid och ansträngning du lägger in för att överföra webbplatsen till den nyare Magento-versionen kommer verkligen att vara värt. Den här nya versionen av Magento erbjuder förbättrad prestanda och skalbarhet, nya funktioner för att öka omvandlingsfrekvensen och företagets smidighet och produktivitetsförbättringar. Din webbplats är redo att gå till nästa nivå med dessa förbättrade funktioner.