Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwendung der Versionskontrolle (Git) auf einer MySQL-Datenbank

Sie können Ihre Datenbank in einem Git-Repository sichern. Wenn Sie die Daten in binärer Form in Git platzieren, verlieren Sie natürlich die gesamte Fähigkeit von Git, die Daten mithilfe von Diffs (Änderungen) effizient zu speichern. Die beste Vorgehensweise Nummer eins lautet also:Speichern Sie die Daten in einem Text-serialisierten Format.

mysqldump ist ein geeignetes Programm, um Ihnen dabei zu helfen. Es ist jedoch nicht perfekt. Wenn irgendetwas die Serialisierungsreihenfolge von Artikeln stört (z. B. durch das Erstellen neuer Tabellen usw.), werden künstliche Brüche in das Diff eingefügt. Das verringert die Effizienz der Speicherung. Sie könnten einen benutzerdefinierten Serialisierer schreiben, um nur Änderungen zu serialisieren – aber dann erledigen Sie die harte Arbeit, in der git bereits gut ist. Verwenden Sie einfach den SQL-Dump.

Davon abgesehen ist das, was Sie tun möchten, nicht das, was Entwickler normalerweise meinen, wenn sie davon sprechen, die Datenbank in Git zu integrieren. Wenn Sie beispielsweise den von @eggyal geposteten Link lesen (Link zu Codinghorror ) werden Sie sehen, dass das, was tatsächlich in Git platziert wird, die Skripte sind, die zum Generieren der anfänglichen Datenbank benötigt werden. Möglicherweise gibt es zusätzliche Skripts, z. B. zum Auffüllen der Datenbankdaten mit einem sauberen Zustand oder zum Auffüllen mit Testdaten. Alle diese SQL-Skripte sind Textdateien und haben so ziemlich das gleiche Format wie der SQL-Dump, den Sie von mysqldump erhalten würden. Es gibt also keinen Grund, warum Sie das nicht auch mit Ihren täglichen Daten machen können.