¿Utiliza control de fuente para los elementos de su base de datos? [cerrado]
Siento que mi tienda tiene un vacío porque no contamos con un proceso sólido para versionar los cambios en el esquema de nuestra base de datos. Hacemos muchos refuerzos para estar más o menos cubiertos, pero es una mala práctica confiar en la última línea de defensa de esta manera.
Sorprendentemente, esto parece ser un hilo conductor. Muchas tiendas con las que he hablado ignoran este problema porque sus bases de datos no cambian con frecuencia y básicamente intentan ser meticulosos.
Sin embargo, sé cómo va esa historia. Es sólo cuestión de tiempo antes de que las cosas se alineen mal y algo desaparezca.
¿Existen mejores prácticas para esto? ¿Cuáles son algunas estrategias que te han funcionado?
Debe leer Ponga su base de datos bajo control de versiones . Consulte la serie de publicaciones de K. Scott Allen.
Cuando se trata de control de versiones, la base de datos suele ser un ciudadano de segunda o incluso de tercera clase. Por lo que he visto, los equipos que nunca pensarían en escribir código sin control de versiones en un millón de años (y con razón) pueden de alguna manera ignorar por completo la necesidad de control de versiones en torno a las bases de datos críticas de las que dependen sus aplicaciones. No sé cómo puedes llamarte ingeniero de software y mantener la cara seria cuando tu base de datos no está exactamente bajo el mismo nivel riguroso de control de fuente que el resto de tu código. No dejes que esto te pase a ti. Obtenga su base de datos bajo control de versiones.
¿Las propias bases de datos? No
Los scripts que los crean, incluidas las inserciones de datos estáticos, procedimientos almacenados y similares; por supuesto. Son archivos de texto, están incluidos en el proyecto y se registran y retiran como todo lo demás.
Por supuesto, en un mundo ideal, su herramienta de gestión de bases de datos haría esto; pero sólo hay que ser disciplinado al respecto.