sql >> Base de Datos >  >> RDS >> Mysql

Uso del control de versiones (Git) en una base de datos MySQL

Puede hacer una copia de seguridad de su base de datos dentro de un repositorio de git. Por supuesto, si coloca los datos en git en forma binaria, perderá toda la capacidad de git para almacenar los datos de manera eficiente utilizando diferencias (cambios). Entonces, la mejor práctica número uno es esta:almacene los datos en un formato serializado de texto.

mysqldump es un programa adecuado para ayudarlo a hacer esto. Aunque no es perfecto. Si algo perturba el orden de serialización de los elementos (p. ej., como resultado de la creación de nuevas tablas, etc.), se introducirán interrupciones artificiales en la diferencia. Eso disminuirá la eficiencia del almacenamiento. Podrías escribir un serializador personalizado para serializar solo los cambios, pero entonces estás haciendo el trabajo duro en el que git ya es bueno. Solo usa el volcado de sql.

Dicho esto, lo que quiere hacer no es lo que los desarrolladores normalmente quieren decir cuando hablan de poner la base de datos en git. Por ejemplo, si lee el enlace publicado por @eggyal (enlace a codificaciónhorror ) verá que lo que realmente se coloca en git son los scripts necesarios para generar la base de datos inicial. Puede haber scripts adicionales, como aquellos para completar los datos de la base de datos con un estado limpio o para completarlos con datos de prueba. Todos estos scripts sql son archivos de texto y prácticamente tienen el mismo formato que el volcado sql que obtendría de mysqldump. Así que no hay razón por la que no puedas hacerlo de esa manera también con tus datos diarios.