2011-07-29 13 views
5

He estado pensando en formas de mejorar la administración de cambios en la estructura de nuestra base de datos. Tengo un servidor de compilación que crea compilaciones nocturnas, así que pensé que de alguna manera podríamos crear volcados de bases de datos, copias de seguridad y guiones del entorno de prueba como parte del proceso de compilación. Luego, al implementar una actualización para el cliente, podríamos usar una herramienta como DBDiff para crear el script de actualización de la base de datos.Administrar actualizaciones de base de datos

¿Alguien está haciendo algo similar? ¿Es incluso una buena idea? Tal vez algunos buenos consejos sobre qué usar para crear estos volcados en el servidor de compilación.

+0

creo que esto puede ser similar a una pregunta que hice hace un rato: http://programmers.stackexchange.com/questions/79891/how-do-you-handle-constantly-changing -database-dimensions – judda

Respuesta

2

En lugar de identificar las diferencias, recomiendo mantener una secuencia de comandos adecuada que cree una base de datos desde cero.

Estamos bastante satisfechos con el uso de Liquibase para gestionar todas las migraciones de bases de datos en nuestros proyectos. Sabe qué "parches" se han aplicado y garantiza que solo los que falten se aplicarán a la base de datos de destino.

0

esto es posible.

la diferenciación es la parte difícil. una vez que identifica las diferencias, necesita construir el sql apropiado y luego aplicarlo. puede aplicarlo directamente o crear algún script que pueda ejecutar después de la revisión.

cuando cambian ambos lados, entonces debe decidir si el sistema de destino debe mantener su cambio o si debe eliminarse por completo.

recuerde que cuando los cambios del sistema de destino también incluyen datos, y si elimina alguna tabla o columna, entonces su integridad referencial podría estar completamente arruinada.

uno más pensado. Necesitará acceso al sistema de destino para determinar la diferencia. si se trata de una utilidad genérica, deberá convertirla en ejecutable después del hecho, no como parte de la compilación.

0

Aquí encontrará las herramientas de Visual Database muy útiles.

http://msdn.microsoft.com/en-us/library/y5a4ezk9.aspx

No es una comparación de esquemas integrada en Visual Studio (que también se puede ejecutar desde la línea de comandos). También hay un proyecto de base de datos que contiene un conjunto completo de scripts para la base de datos y los objetos que contiene. Esto puede verificarse en el control de la fuente junto con su código fuente.

Puede implementar una nueva base de datos basada en estos scripts con un clic en el menú contextual.

0

Actualmente estamos viendo la versión CTP de Juneau, SQL Tools for Visual Studio. Tiene una función de comparación de instantáneas y esquemas. Básicamente, puede autogenerar scripts entre dos esquemas por usted. Si usa esto en dos versiones de su base de datos, le dará un script de actualización.

http://msdn.microsoft.com/en-us/data/gg427686

0

Aquí en Puerta Roja que estamos cerca de la liberación de una solución que resuelve ese problema precisa el uso de control de código fuente de SQL y SQL Comparar. Tenemos un programa de acceso temprano que te permitirá probarlo. Por favor visite el siguiente enlace para detalles de registro.

http://www.red-gate.com/MessageBoard/viewtopic.php?p=46951#46951

Cuestiones relacionadas