sql >> Database >  >> RDS >> Mysql

Beginnend met mysql-schema's voor versiebeheer zonder overkill. Goede oplossingen?

Eenvoudige manier voor een klein bedrijf:dump uw database naar SQL en voeg deze toe aan uw repository. Telkens wanneer u iets wijzigt, voegt u de wijzigingen toe aan het dumpbestand.

U kunt dan diff gebruiken om wijzigingen tussen versies te zien, om nog maar te zwijgen van opmerkingen die uw wijzigingen uitleggen. Dit maakt u ook vrijwel immuun voor MySQL-upgrades.

Het enige nadeel dat ik hiervan heb gezien, is dat je eraan moet denken om de SQL handmatig aan je dumpfile toe te voegen. Je kunt jezelf trainen om altijd te onthouden, maar wees voorzichtig als je met anderen werkt. Het missen van een update kan later lastig zijn.

Dit kan worden verzacht door een uitgebreid script te maken om het voor je te doen wanneer je je onderwerpt aan subversion, maar het is een beetje veel voor een eenmansshow.

Bewerken: In het jaar dat is verstreken sinds dit antwoord, heb ik een versieschema voor MySQL moeten implementeren voor een klein team. Het handmatig toevoegen van elke wijziging werd gezien als een omslachtige oplossing, net zoals het in de opmerkingen werd vermeld, dus gingen we door met het dumpen van de database en het toevoegen van dat bestand aan versiebeheer.

Wat we ontdekten was dat testgegevens op de vuilnisbelt belandden en het vrij moeilijk maakten om erachter te komen wat er was veranderd. Dit kon worden opgelost door alleen het schema te dumpen, maar dit was onmogelijk voor onze projecten omdat onze applicaties afhankelijk waren van bepaalde gegevens in de database om te functioneren. Uiteindelijk zijn we teruggegaan naar het handmatig toevoegen van wijzigingen aan de databasedump.

Dit was niet alleen de eenvoudigste oplossing, maar het loste ook bepaalde problemen op die sommige versies van MySQL hebben met exporteren/importeren. Normaal gesproken zouden we de ontwikkelingsdatabase moeten dumpen, alle testgegevens, logboekvermeldingen, enz. moeten verwijderen, bepaalde namen moeten verwijderen/wijzigen waar van toepassing en pas dan in staat zijn om de productiedatabase te maken. Door handmatig wijzigingen toe te voegen, konden we precies bepalen wat er in productie zou komen, beetje bij beetje, zodat uiteindelijk alles klaar was en de verhuizing naar de productieomgeving zo pijnloos mogelijk was.



  1. MySQL-query om unieke domeinen te tellen uit het veld e-mailadres

  2. Selecteer kolommen in verschillende databases

  3. 2 manieren om erachter te komen tot welk kwartaal een datum behoort in MariaDB

  4. SQL behalve