Si sus datos cambian después de implementar la aplicación, ¿cómo mantiene la base de datos actualizada?en una aplicación web, ¿cómo se mantiene la estructura de la base de datos actualizada?
Quiero decir, puede agregar o quitar la tabla, es una tarea sencilla. Alterar una tabla existente también puede ser trivial. Pero si cambias la estructura a menudo, ¿cómo mantienes eso bajo control?
Solía mantener una tabla con una versión actual de la base de datos en la base de datos. Luego, cada actualización fue un archivo SQL que hizo su trabajo: crear una nueva tabla, agregar una columna o mover los datos. Los archivos fueron nombrados después de esas versiones, así que si mi script de actualización obtuvo la versión 10 de la base de datos, simplemente tomó todos los archivos de 11.sql a N.sql y aplicó cada uno de ellos al incrementar el número de versión de la base de datos al mismo tiempo.
Esto parece estar funcionando bien, pero me pregunto: ¿cuál es su estrategia para esas tareas?
También este sistema no parece perfecto si normalizo una tabla en un "parche" y después de eso lo desnormalizo de nuevo por cualquier razón. Luego está hecho dos veces.
Pero escribir un script de actualización completo cada vez que cambio algo me parece doloroso y propenso a errores. Al menos más que tales cambios atómicos.
Además, puedo esperar que diferentes clientes tengan diferentes versiones de bases de datos ejecutándose en cualquier momento, así que realmente debería haber una forma de ir desde cualquier punto.
pregunta muy similar aquí: http://stackoverflow.com/questions/308/is-there-a -version-control-system-for-database-structure-changes –