sql >> Database teknologi >  >> RDS >> Mysql

Brug af versionskontrol (Git) på en MySQL-database

Du kan sikkerhedskopiere din database i et git-lager. Selvfølgelig, hvis du placerer dataene i git i en binær form, vil du miste al git's evne til effektivt at gemme dataene ved hjælp af diffs (ændringer). Så den bedste praksis nummer et er denne:Gem dataene i et tekstserieformat.

mysqldump er et passende program til at hjælpe dig med at gøre dette. Det er dog ikke perfekt. Hvis noget forstyrrer serialiseringsrækkefølgen af ​​elementer (f.eks. som et resultat af oprettelse af nye tabeller osv.), så vil kunstige pauser indgå i forskellen. Det vil mindske effektiviteten af ​​opbevaring. Du kunne skrive en brugerdefineret serialisering for kun at serialisere ændringer -- men så laver du det hårde arbejde, som git allerede er god til. Bare brug sql-dumpen.

Når det er sagt, er det, du ønsker at gøre, ikke det, som udviklere normalt mener, når de taler om at sætte databasen i git. For eksempel, hvis du læser linket indsendt af @eggyal (link til codinghorror ) vil du se, at det, der faktisk er placeret i git, er de scripts, der er nødvendige for at generere den indledende database. Der kan være yderligere scripts, såsom dem til at udfylde databasedata med en ren tilstand eller til at udfylde den med testdata. Alle sådanne sql-scripts er tekstfiler, og stort set det samme format som det sql-dump, du ville få fra mysqldump. Så der er ingen grund til, at du ikke også kan gøre det på den måde med dine daglige data.



  1. meta_query, hvordan søger man ved at bruge både relation ELLER &OG?

  2. hvordan man opretter en lagret procedure i Oracle, som accepterer en række parametre

  3. Sådan fungerer CHAR_LENGTH() i MariaDB

  4. System til nulstilling af adgangskode i PHP