Synchroniseer je ontwikkelomgeving automatisch met onze Mage-DB-Sync tool

Jelle Siderius
Jelle Siderius 28-10-2021

Het synchroniseren van de meest recente data van een webshop naar een development omgeving kan een lastig en tijdrovend proces zijn. Daarnaast is het een foutgevoelige handeling, het blijft tenslotte handwerk. Om het leven van onze Magento developers makkelijker te maken hebben we dit proces binnen Hypershop weten te automatiseren, wat resulteert in een efficiëntere en snellere workflow.

Onze tool is te downloaden via Github.

Synchronisatieproces mage-db-sync

Mage-DB-Sync in het kort

Het synchroniseren van een database hebben we geautomatiseerd door onze eigen Mage-DB-Sync tool te schrijven. De tool download een gestripte database (= zonder persoonsdata) naar je lokale development omgeving waarna hij hem automatisch importeert & configureert. Zo heb je binnen 5 minuten een volledig gesynchroniseerde kopie.

Mocht het nodig zijn, dan kan de tool ook een volledige database met alle data downloaden en synchroniseren. Met een groot klantenbestand is het hierdoor eenvoudig om up-to-date te blijven. Dit bespaart jou als Magento developer een hoop tijd en maakt het development proces een stuk plezieriger.

Wat doet de tool precies?

De tool configureert jouw Magento omgeving zodat die na de synchronisatie direct te gebruiken is. Hoe de tool werkt lees je in deze exacte stappenlijst. De tool..

  1. Download een gestripte (of volledige) database naar jouw lokale machine.
  2. Importeert de database.
  3. Configureert jouw database zodat deze direct werkt.
    1. Vervangt alle live URL’s voor de nieuwe development URL’s.
    2. Maakt een default admin user aan.
    3. Maakt een default customer aan op alle websites.
    4. Configureert Elasticsearch.
    5. Verwijderd SMTP settings.
  4. Voert een indexatie uit na configuratie.

Downloaden en instellen van de tool

Voordat je met deze tool aan de slag gaat is het van belang dat je de volgende punten controleert:

  1. Zorg dat NodeJS geïnstalleerd staat. Op het moment van schrijven heb ik zelf NodeJS v11.15.0
  2. Magerun2 is nodig. De tool is gebaseerd op versie > 4.7.0

Zodra de bovenstaande punten correct zijn kun je aan de slag met deze stappen.

Het synchroniseren van een database

Nu de tool gedownload en ingesteld is kun je jouw eerste geautomatiseerde database synchronisatie uitvoeren.

  1. Navigeer in de Command Line naar de root van je Magento project waarvoor een synchronisatie moet plaatsvinden.
  2. Voer het volgende commando uit mage-db-sync start
  3. Selecteer de database die je wilt synchroniseren en volg de stappen uit de tool.
  4. Haal ondertussen een kop koffie of thee, dit kan 5 minuten duren.
  5. Als de synchronisatie klaar is geeft de tool een bericht af met daarin de URL waarop de webshop te bereiken is. Ook de logingegevens van de admin user zijn in dar bericht terug te vinden.

Mage-DB-Sync tool gebruiken in teamverband

Binnen Hypershop hebben we een losse repository aangemaakt waarin de databases van staging & production omgevingen staan. Deze repository hebben we mage-db-sync-databases genoemd. Plaats in deze folder de database bestanden staging.json en production.json (zie voorbeeld). Hierna kun je deze symlinken door te navigeren naar mage-db-sync/config/databases.

In dit voorbeeld is mage-db-sync-databases de repository van Hypershop’s databases:

ln -s ../../../mage-db-sync-databases/staging.json staging.json
ln -s ../../../mage-db-sync-databases/production.json production.json

Succes met het gebruik van de tool! Ervaar je problemen? Schiet je issue in via Github en samen zorgen we voor een optimale werking.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.