No creo que haya una respuesta simple para este libro, porque esto depende mucho de su entorno. Sea lo que sea que se te ocurra, recomiendo encarecidamente un enfoque basado en guiones, con las secuencias de comandos de implementación en control de fuente. Esos scripts también permitirán una mejor integración con las soluciones de compilación (ver a continuación).
La secuencia de comandos más simple para ejecutar en su entorno de producción sería simplemente el comando para obtener la última versión (u obtener una versión específica) del control de origen.
El siguiente desafío es la implementación de la base de datos. La solución que más me ha gustado para proyectos pequeños y medianos es mantener una tabla de versiones de esquema en cada base de datos y tener todas las secuencias de comandos DDL y de actualización de datos en control de código fuente (incluidas las fuentes de datos que utilizan en archivos comprimidos). Los scripts se numeran consecutivamente (comenzando 000001 ..., 000002 ..., etc.) y el script de implementación que ejecuto simplemente primero realiza una copia de seguridad de la base de datos existente, luego obtiene el último script de la base de datos de ejecución desde la tabla de versiones del esquema y luego ejecuta cualquier nueva secuencia de comandos de base de datos encontrada en el control de fuente en el orden correcto, actualizando la tabla de versión de esquema en consecuencia.
Este enfoque me permite reconstruir la base de datos desde cero muy rápidamente.
Los dos enfoques tomados en conjunto hacen que sea posible desplegar rápidamente su base de código a varias máquinas diferentes de estadificación, el entorno de control de calidad, beta, etc.
Por sólo un poco escenarios más complejos, que debiera ejecutar un servidor de integración de construcción continua, como Kieveli et. Alabama. sugerido, que esencialmente "reconstruye" toda su implementación de manera regular y, por lo tanto, contiene scripts para hacer exactamente lo que ejecutaría "manualmente" más arriba.
La implementación de la base de datos también puede hacerse más sofisticada mediante la creación de un script de reversión para cada script de base de datos. A continuación, debe escribir una pequeña aplicación de controlador para manejarlos. Hay varias soluciones de OSS para este tipo de cosas y una de ellas puede adaptarse a sus necesidades.
PERO, asegurarse de que nunca auto-implementar la base de datos para un entorno de producción ;-)
Hudson es impresionante. – stimms