Vandaag ben ik begonnen met een nieuwe functie in Goedgebeld: het samenvoegen van bedrijven en contactpersonen. Dit is handig wanneer hetzelfde bedrijf, bijvoorbeeld door een kleine spelfout, dubbel is opgeslagen, zoals ‘Bedrijf A’ en ‘Bedrijf B’.
Ik heb dit in Laravel geïmplementeerd door te onderzoeken hoe ik de relaties tussen bedrijven en contactpersonen kan beheren en hoe ik de data van subbedrijven naar het hoofdbedrijf kan migreren. Ik heb ervoor gekozen om het op de volgende manier te doen: medewerkers kunnen een lijst samenstellen van subbedrijven die ze in het hoofdbedrijf willen samenvoegen. Deze subbedrijven worden vervolgens in een lijst naar een controllerfunctie gestuurd, die de company_id foreign key in de gerelateerde ticket van het subbedrijf vervangt door die van het hoofdbedrijf. Met andere woorden, de telefoontjes worden voortaan gekoppeld aan het hoofdbedrijf in plaats van aan de subbedrijven. Nadat deze wijziging is doorgevoerd, worden de subbedrijven verwijderd, aangezien ze niet meer nodig zijn.
