sql >> Database >  >> RDS >> Mysql

Versiebeheer (Git) gebruiken op een MySQL-database

U kunt een back-up van uw database maken in een git-repository. Als je de gegevens in binaire vorm in git plaatst, verlies je natuurlijk al het vermogen van git om de gegevens efficiënt op te slaan met behulp van diffs (wijzigingen). Dus de beste praktijk is dit:sla de gegevens op in een geserialiseerde tekstindeling.

mysqldump is een geschikt programma om u hierbij te helpen. Het is echter niet perfect. Als iets de rangschikkingsvolgorde van artikelen verstoort (bijvoorbeeld als gevolg van het maken van nieuwe tabellen, enz.), zullen kunstmatige onderbrekingen in de diff optreden. Dat zal de efficiëntie van de opslag verminderen. Je zou een custom serializer kunnen schrijven om alleen wijzigingen te serialiseren -- maar dan doe je het harde werk waar git al goed in is. Gebruik gewoon de sql-dump.

Dat gezegd hebbende, wat je wilt doen, is niet wat ontwikkelaars normaal bedoelen als ze praten over het plaatsen van de database in git. Als u bijvoorbeeld de link leest die is geplaatst door @eggyal (link naar codinghorror ) zul je zien dat wat feitelijk in git wordt geplaatst de scripts zijn die nodig zijn om de initiële database te genereren. Er kunnen aanvullende scripts zijn, zoals die om de databasegegevens te vullen met een schone staat, of om deze te vullen met testgegevens. Al dergelijke sql-scripts zijn tekstbestanden en vrijwel hetzelfde formaat als de sql-dump die u van mysqldump zou krijgen. Er is dus geen reden waarom u het ook niet zo zou kunnen doen met uw dagelijkse gegevens.



  1. Hoe de laatst uitgevoerde query's op MySQL te tonen?

  2. Laravel 5.4 upgrade, converteren naar utf4mb van utf8

  3. Hoe kan ik testen of een kolom in een tabel bestaat met behulp van een SQL-instructie?

  4. PostgreSQL JSON-kolom upgraden naar JSONB?