¿Está utilizando la gestión de la dependencia una estrategia sensata para las copys de security de la database?

Entonces, aunque estoy de acuerdo en principio con el artículo a menudo mencionado "Ponga su database bajo control de versiones" , nadie parece abordar el problema de las grandes bases de datos. No estoy hablando solo del esquema, sino también de los datos.

Además, aunque soy un gran defensor de los DVCS como Git y Mercurial, se quedan cortos al manejar files grandes (no solo binarys).

Simplemente me di count de que este es un problema de gestión de la configuration, en lugar de uno de control de versiones. Por lo tanto, podría tratar un volcado de SQL como un artefacto de construcción, almacenar la copy de security como una revisión del artefacto y vincularlo a través de un manifiesto en el proyecto, podría hacer lo mismo para cada uno de los entornos individuales (preparación, desarrollo, producción, etc.). La única desventaja que encuentro es que Build Artifact Repositories (como Artifactory y Nexus) no parece manejar revisiones de artefactos de una manera eficiente en cuanto al almacenamiento (por ejemplo, copy de security diferencial).

Mi pregunta se divide en dos:

A) ¿Es esto -llevar a cabo una copy de security completa de la database- una estrategia sana lo suficientemente robusta para entornos productivos ?, es decir, ¿esto (o algo cercano) realmente se hace en el mundo real?

B) ¿Cuál es la mejor práctica para gestionar (y utilizar) copys de security de bases de datos de forma que una copy de security particular tenga rastreabilidad para una revisión determinada de la aplicación productiva?

Los cambios en el esquema de la database son un problema de implementación. Cada versión de un proyecto debe tener un código que actualice la database de la versión anterior. Se debe hacer una copy de security de su server intermedio y puede probar los cambios allí.