Magento Development

Je ontwikkelomgeving automatisch synchroniseren met onze Mage-DB-Sync tool

Het synchroniseren van de meest recente webshop data 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 HYPER weten te automatiseren, wat resulteert in een efficiëntere en snellere workflow!

Dit is Mage-DB-Sync in het kort

Wij liepen er tegenaan dat het synchroniseren naar een ontwikkelingsomgeving best veel tijd kan kosten. Dat is eigenlijk nergens voor nodig, vinden we! Daarom hebben we het synchroniseren van een database geautomatiseerd door onze eigen Mage-DB-Sync tool te schrijven.

De tool download een gestripte database (dus alles zonder persoonsdata) naar je lokale Magento development omgeving, daarna importeert & configureert hij hem automatisch. Zo heb je binnen 5 minuten een volledig gesynchroniseerde kopie! 

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

Wat doet Mage-DB-Sync tool en hoe werkt hij?

Onze tool configureert jouw Magento development omgeving zodat deze direct na de synchronisatie te gebruiken is. In de onderstaande stappenlijst leggen we exact uit hoe de tool werkt en wat hij doet.

  1. De tool download een gestripte (of volledige) database naar jouw lokale machine.
  2. Daarna wordt de database geïmporteerd.
  3. De afbeeldingen worden gesynchroniseerd.
  4. De tool configureert jouw database zodat deze direct werkt.
    1. Alle live URL’s worden vervangen door nieuwe development URL’s.
    2. Er wordt een default admin user aangemaakt.
    3. Er wordt een default customer aangemaakt op alle websites.
    4. Elasticsearch wordt geconfigureerd.
    5. De SMTP settings worden verwijderd.
  5. Als laatste voert de tool een indexatie uit na de configuratie.

Het downloaden en instellen van de tool

Voordat je met deze tool aan de slag gaat is het belangrijk dat je twee onderdelen controleert. Deze zijn nodig om de Mage-DB-Sync te laten werken. Zodra deze twee onderdelen correct zijn, kun je aan de slag met de installatie stappen.

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

Het synchroniseren van een database

Je hebt de tool gedownload en geïnstalleerd, gefeliciteerd! We gaan gelijk aan de slag met het uitvoeren van jouw eerste geautomatiseerde database synchronisatie. Volg daarvoor de volgende stappen:

  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. Kies de database die je wilt synchroniseren en volg de stappen uit de tool.
  4. Haal ondertussen een kop koffie of thee, dit kan zo’n 2 tot 5 minuten duren.
  5. Als de synchronisatie klaar is geeft de tool een bericht af. In dit bericht staat de URL waarop de webshop te bereiken is en de logingegevens van de admin user.

Mage-DB-Sync tool gebruiken in teamverband

De Mage-DB-Sync is ook super fijn en handig om binnen je development team te gebruiken, iedereen mag van de tijdswinst profiteren! 

Binnen HYPER hebben we een losse repository aangemaakt waarin de databases van staging en production omgevingen staan. Deze repository hebben we mage-db-sync-databases genoemd. In de folder hebben we de database bestanden van staging.json en production.json geplaatst. Hierna kun je deze symlinken door te navigeren naar mage-db-sync/config/databases. Hier laten we een voorbeeld zien van hoe het er bij ons uitziet.

Hieronder zie je de Mage-DB-Sync-databases in de repository van HYPER’s databases:

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

Ik wens je heel veel succes met het gebruiken van deze tool! Hopelijk heb je er net zoveel profijt van als wij. Ervaar je problemen? Schiet je issue in via Github en samen zorgen we voor een optimale werking.