sql >> Databasteknik >  >> RDS >> Mysql

Använda versionskontroll (Git) på en MySQL-databas

Du kan säkerhetskopiera din databas i ett git-förråd. Naturligtvis, om du placerar data i git i binär form, kommer du att förlora all gits förmåga att effektivt lagra data med hjälp av diffs (ändringar). Så bästa praxis nummer ett är detta:lagra data i ett textserieformat.

mysqldump är ett lämpligt program som hjälper dig att göra detta. Det är dock inte perfekt. Om något stör serialiseringsordningen för objekt (t.ex. som ett resultat av att nya tabeller skapas, etc.) kommer konstgjorda pauser att ingå i skillnaden. Det kommer att minska effektiviteten i lagringen. Du kan skriva en anpassad serialiserare för att serialisera ändringar bara - men då gör du det hårda arbete som git redan är bra på. Använd bara sql-dumpen.

Med det sagt, det du vill göra är inte vad utvecklare normalt menar när de pratar om att lägga databasen i git. Till exempel, om du läser länken som postats av @eggyal (länk till codinghorror ) kommer du att se att det som faktiskt placeras i git är de skript som behövs för att generera den initiala databasen. Det kan finnas ytterligare skript, som de för att fylla databasdata med ett rent tillstånd eller för att fylla i den med testdata. Alla sådana sql-skript är textfiler, och i stort sett samma format som sql-dumpen du skulle få från mysqldump. Så det finns ingen anledning till att du inte kan göra det på det sättet med din dagliga data också.



  1. Lägg till Ordinal Indicator till ett datum i PostgreSQL

  2. Vilken strukturtyp använder jag för HTML-innehåll (MySQL)

  3. MySQL BESTÄLLNING EFTER [anpassat SET-fältvärde]

  4. Tillämpa kolumnbehörigheter för en tabell över en utlösare