¿Cómo podemos poner MySQL bajo control de versiones? Quiero hacer un seguimiento de DDL, DML, SP y todo en servidores MySQL.

En general, usamos 20.3.1 Sintaxis de desencadenante y ejemplos para rastrear cualquier cambio en una tabla, ya sea Insertar / Actualizar / Eliminar para un rendimiento consistente de la tabla primaria. También tenga en cuenta que el control de versiones en estructuras de bases de datos arbitrarias no es tan fácil, ya que es más como una dimensión que cambia lentamente: Wikipedia. [Puede enviar un DM si necesita más ayuda con los scripts.]

Alternativamente, también puede usar aplicaciones web de control de versiones de bases de datos como control de versiones de bases de datos, ¡de forma fácil! (Basado en victorstanciu / dbv) O Liquibase | Refactorización de bases de datos | Inicio rápido de Liquibase. Incluso los datos generados por la herramienta de modelado MySQL Workbench se pueden guardar en SVN y le permitirán sincronizar la base de datos con el modelo / scripts de forma bidireccional (pero esto no es tan fácil de mantener ya que el archivo binario guardado no se puede fusionar).

Shpresoj se ndihmon! Gezuar!

La forma más fácil sería hacer una copia de seguridad completa y versionar los archivos de copia de seguridad. Esto generará algunas demandas de almacenamiento, ya que también hará una copia de seguridad de los datos. También debería ser un proceso manual.

La otra forma implica crear scripts para todos sus objetos y colocarlos, como archivos, bajo el control de versiones.

Existen bastantes herramientas para ayudarlo con eso, e incluso un proyecto de GitHub que intenta abordar el problema: smrtr / mysql-version-control

Pregunta: ¿Cómo podemos poner MySQL bajo control de versiones? Quiero hacer un seguimiento de DDL, DML, SP y todo en servidores MySQL.

He configurado sistemas que regularmente harían un mysqldump de todos los procedimientos almacenados y DDL y luego actualizarían el control de versiones. No entiendo por qué alguien querría versionar los datos también de una manera que los registros binarios no proporcionen. Eventualmente, mi preocupación sería el costo del almacenamiento para mantener versiones de toda esa información.

KB

Mysql admite la recuperación de punto en el tiempo. Esto significa que puede tomar una instantánea y aplicar registros binarios en cualquier momento en el futuro desde la instantánea.

Si realmente quiere que todo viva en un VCS, puede agregar el archivo de volcado una vez y cada hora (o cuáles son sus requisitos) agregue el registro binario.

Dependiendo de lo que intente lograr, no estoy seguro de recomendarle que intente tener un VC completo de una base de datos.

Una copia de seguridad completa diaria junto con los registros binarios del día en un sistema de archivos remoto debería ser suficiente.

Bueno, desde lo más alto de mi mente, una buena manera de hacerlo sería usar Flyway para encargarnos de sus cosas de migración.

Eche un vistazo aquí y simplemente compruebe las maravillas que se pueden hacer 🙂 → Flyway by Boxfuse • Migraciones de bases de datos de forma fácil.

Espero que esto sea lo que has estado buscando