Overføring til Magento 2 Migrere nettstedet

I den forrige artikkelen i denne serien ga jeg en oversikt over Magento-migrasjonsprosessen og diskuterte noen av fordeler og ulemper å vurdere når du planlegger flyttingen din. I denne artikkelen vil vi grave litt dypere inn i de skitne tekniske detaljene til den faktiske overføringsprosessen.

Oppgrader Migrasjonsverktøyet

Siden vi allerede har installert Magento-migreringsverktøyet ved hjelp av instruksjonene i forrige artikkel, er neste trinn å konfigurere det riktig for vellykket overføring. Før du fortsetter med å konfigurere migreringsverktøyet, må du sjekke at versjonen av migreringsverktøyet samsvarer med Magento-installasjonsversjonen din, og hvis ikke, må du oppdatere migreringsverktøyversjonen.

Hvis du migrerer til Magento versjon 2.0.0, må du ha Migreringsverktøy versjon 2.0.0, på samme måte hvis du har Magento versjon 2.0.2, trenger du migreringsverktøy versjon 2.0.2. Hvis det ikke finnes en feilversjon av versjonen, vil overføringen ikke lykkes, da forskjellige Magento-versjoner kan ha forskjellige databasestrukturer og trenger forskjellige kartleggingsmekanismer.

For å sjekke versjonen av den nye Magento-installasjonen, bruk følgende kommando:

php / bin / magento - versjon

Sjekk nå versjonen av Magento-migreringsverktøyet. For å gjøre det, går du til katalogen for migreringsverktøy og åpner filen composer.json. Plasseringen av denne filen vil være noe slikt:

Magento rotkatalog / leverandør / magento / data-migrasjon-verktøy / composer.json

I denne filen finner du verdien av versjon, og det er din Migreringsverktøy-versjon. Hvis versjonen av Magento og migreringsverktøyet samsvarer, er du klar til å fortsette til neste trinn. Men hvis de ikke gjør det, må du endre overføringsverktøyversjonen for å matche Magento-versjonen.

Før du fortsetter med versjonoppgradering, ta en sikkerhetskopi av dataoverføringsverktøy-katalogen, fordi oppgraderingsprosessen vil endre innholdet i denne mappen, og hvis noe går galt, kan du kanskje ikke få tilbake den opprinnelige en hvis du ikke Jeg har ikke en sikkerhetskopi. Når sikkerhetskopien er ferdig, gå ganske enkelt til Magento-rotkatalogen din på serveren din, og skriv inn følgende kommando:

komponist krever magento / data-migrasjonsverktøy: 2.0.2

Det siste i kommandoen er Magento-versjonen. I dette tilfellet er det 2.0.0. Hvis din er annerledes, endre den tilsvarende.

Nå som vi har sørget for at vi har matchende versjoner av Magento og migreringsverktøyet, er det på tide å konfigurere migreringsverktøyet riktig.

Konfigurere overføringen

For å konfigurere Magento-migrasjonen må du opprette / oppdatere konfigurasjonsfilen og kartleggingsfilene. Du finner disse filene i denne mappens plassering:

Magento2 rotkatalog / leverandør / magento / data-migrasjonsverktøy / etc / ce-to-ce

I denne artikkelen demonstrerer jeg samfunnsutgaven til fellesskapsutgaven, slik at den siste mappen i den ovennevnte banen er ce-to-ce, men hvis du har å gjøre med bedriftsutgaven, blir det ee i stedet for ce.

Å lage en riktig konfigurert config.xml-fil er et must, før du starter en eventuell migrering. For å opprette config.xml-filen, logg inn på Magento-serveren, og flytt til denne katalogen:

/ Leverandør / magento / data-migrering-verktøy / etc // ce

Bruk denne kommandoen til å opprette konfigurasjonsfilen:

cp config.xml.dist config.xml

Nå, når den er opprettet, åpner du den i alle tekstredigeringsprogrammer, og legger inn denne prøvekoden:

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

Her vert, Navn og bruker Feltene i både kilde og destinasjonsdatabaser er obligatoriske. Også, den crypt_key feltet er obligatorisk. Resten av feltene som database passord og source_prefix er valgfrie.

De crypt_key feltet skal ha samme nøkkel som det finnes i nøkkelmerket til local.xml-filen, som finnes i denne katalogen:

/app/etc/local.xml

Nå som vi har opprettet config.xml-filen, oppdateres det neste valgfrie trinnet for kartleggingsfilene. Migreringsverktøyet bruker kartlegging av filer til å utføre databasekartlegging fra Magento 1 til Magento 2. Kartleggingsfilene inneholder informasjon om å endre tabell- og feltnavn på databasen, hvilke tabeller og felt som kan ignoreres, og annen informasjon som den. Du kan finne kartleggingsfilene i denne katalogen:

/ Leverandør / magento / data-migrering-verktøy / etc

Gå gjennom disse filene, og hvis du trenger å oppdatere noen av disse, gjør du en kopi av filen du må redigere, og fjern .dist fra navnet. Hvis du for eksempel bruker map.xml.dist-filen, lager du en kopi av denne filen med navnet map.xml. Når du er ferdig med å redigere dem, må du oppdatere config.xml-filen med det nye filnavnet i valgfri noden. Hvis du har lagt til map.xml-filen, vil den tidligere opprettede config.xml-filen koden bli slik:

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

Migrere Innstillinger, Data og Delta

Nå som vi er ferdige med all flyttingsplanlegging, installasjoner, konfigurasjoner og så videre, la oss faktisk starte migreringsprosessen. For det må du kjøre overføringsverktøyet. For å kjøre overføringsverktøyet, skriv inn Magento-serveren som en bruker med skriverettigheter. Hvis du vil kjøre Magento-kommandoer fra hvilken som helst katalog, legger du til Magento Root Directory / bin til systembanen, eller du kan kjøre kommandoene på denne måten:

cd / bin

Bruk følgende kommando for å starte migrering:

bin / magento migrere:

Her kan modusen være enten innstillinger, data eller delta, og banen til config.xml-filen vil være en absolutt bane.

Du må utføre overføringen i denne rekkefølgen:

  1. Overfør innstillinger
  2. Overfør data
  3. Migrere delta (endringer)

Migreringsinnstillinger vil overføre betalings-, skatte- og fraktinnstillinger knyttet til butikker, nettsteder, etc. For å kjøre innstillingsoverføringen, kjør denne kommandoen:

bin / magento migrere: innstillinger 

Dette kan ikke overføre alle dataene. Du må logge inn med administrasjonspanelet for å kontrollere om alt overføres riktig. Hvis det er noe problem, kan du utføre denne setningen, men denne gangen bruker du tilbakestillingsargumentet for å starte overføringen fra begynnelsen. Kommandoen ser slik ut:

bin / magento migrere: innstillinger [-r | --reset] 

Når du er ferdig med innstillingene, begynner du neste gang å migrere data. Prosedyren er den samme som før, med en enkelt argumentendring. Kommandoen som skal utføres vil se slik ut:

bin / magento migrere: data 

Når du kjører dataoverføring, kontrollerer migreringsverktøyet at databasetabellene og feltene i de gamle og nyere Magento-versjonene er konsistente. Ved inkonsekvens forsøker den å finne informasjonen fra kartleggingsfilene. 

Hvis den ikke finner det der, vil det kaste en feil som nevner plagsomme tabell- og feltnavn. Problemet oppstår vanligvis når du bruker en Magento-utvidelse hvis tabellstruktur ikke er i samsvar med Magento 2-databasestrukturen. I så fall kan du enten installere Magento 2-versjonen av utvidelsen, eller du kan ignorere disse filene ved å legge til  koder til map.xml fil.

Når du har løst problemet, kan du kjøre kommandoen for å migrere data igjen. En ting å huske på her er at migreringsverktøyet holder styr på fremdriften mens du migrerer, og når du kjører igjen, fortsetter den fra hvor den var igjen. For å tvinge den til å starte fra begynnelsen, kan du bruke tilbakestillingen kommandoen slik:

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

Det neste trinnet er å migrere endringene (delta). 

Som diskutert i den forrige artikkelen i denne serien, før du begynner migreringsprosessen, bør du stoppe Magento 1 cron-jobben og også all aktivitet i Magento 1-administrasjonspanelet annet enn nødvendig ordrehåndteringsproblemer, og ikke fortsette aktiviteten til Tidsmigreringsprosessen er fullført. 

Selv om du stopper mest aktivitet i Magento 1-administrasjonspanelet før du starter migreringsprosessen, vil det bli noen problemer med å behandle ordreprosessen. Det kan også oppstå nye brukeranmeldelser eller endringer i kundeprofiler i løpet av denne tiden. Nå må du overføre dataene ved hjelp av inkrementelle oppdateringer.

For å migrere inkrementelle oppdateringer, kjør følgende kommando:

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

Her er det nødvendig å huske på at inkrementell migrasjon går kontinuerlig med mindre du avbryter den ved hjelp av CTRL + C-kommandoen. En annen ting å merke seg er at dette verktøyet bare overfører data generert av Magento sine egne moduler. Hvis en tredjepartsutvidelse genererer / oppdaterer noen data i mellomtiden, blir det ikke migrert. Hvis du ønsker at dataene skal migreres også, må du oppdatere Magento 2 config-filene. Det trenger litt forhåndskunnskap om dataoverføringsverktøyets interne spesifikasjon, og det er utenfor rammen av denne artikkelen.

Migrere data manuelt

Igjen å referere tilbake til den første artikkelen i denne serien, selv om migreringsverktøyet vil gjøre det meste av den tunge løftingen av overføringsprosessen, er det tre typer filer som du må overføre manuelt:

  1. Mediefiler
  2. Lagre frontdesign
  3. ACLer (tilgangskontrolllister)

For å overføre mediefilene, må du først gå til Magento 1-administrasjonspanelet. Gå til System> Konfigurasjon> Avansert> System.

Under Lagre konfigurasjon for media fanen, velg Medie database fra listen og klikk synkron~~POS=TRUNC.

Gå nå til Magento 2 admin panel, Butikker> Konfigurasjon> Avansert> System.

Under Lagringskonfigurasjon for media, velg media database, og klikk synkron~~POS=TRUNC.

Dette vil ta vare på mediefiler som er lagret i Magento-databasen. Nå, for å overføre andre mediefiler, kopier du hele mediefappen fra Magento 1-rotkatalogen din, og lim inn og flett den på dette stedet i Magento 2:

Magento 2 rotkatalog / pub / media

En veldig viktig ting å merke seg her er at mens du kopierer, bør du ikke erstatte .htaccess-filen. Det er bedre å ta en sikkerhetskopi av .htaccess-filen før medieoverføringen, slik at du ikke tilfeldigvis erstatter filen.

For å overføre temafilene i butikken din, må du overføre .phtml, js, css og xml-filer til de aktuelle stedene i Magento 2. Mappestrukturen er forskjellig fra Magento 1. Denne artikkelen i Magento dev docs vil gi Du får en god oversikt over Magento 2's nye tema mappe struktur.

Foruten at du skal overføre temafiler manuelt, må du også manuelt gjenskape legitimasjon for REST- og SOAP-webtjenestene du bruker på nettstedet ditt, og du må også gjenskape administrative brukere og angi tilgangsrettigheter.

Etterflyttingstrinn

Nå som du har fullført alle trinnene som kreves for Migrasjon, er det noen siste ting å gjøre for å få en fullt funksjonell Magento 2-nettside.

  • Du må sette Magento 1 i vedlikeholdsmodus, og starte en Magento 2 cron jobb.
  • Skyll Magento 2-cachene, og re-indekser alle indekser.
  • Endre DNS for å peke til Magento 2, for å viderekoble trafikk til det nye nettstedet.

Hvis du har gjort det så langt, gratulerer! Din nye Magento 2 butikk er klar. Tiden og innsatsen du legger inn for å overføre nettstedet til den nyere Magento-versjonen, vil virkelig være verdt det. Denne nye versjonen av Magento tilbyr forbedret ytelse og skalerbarhet, nye funksjoner for å øke konverteringsfrekvensene, og virksomhetenes smidighet og produktivitetsforbedringer. Siden din er klar til å gå til neste nivå med disse forbedrede funksjonene.