2011-03-20 9 views
5

Actualmente estamos utilizando VincentVega (ahora incluido en Tarantino) para nuestra base de datos CI. Estamos usando CruiseControl.Net para nuestra aplicación web (C# usando TFS).Alternativas a Tarantino para la integración continua de la base de datos (CI)?

VincentVega ha funcionado relativamente bien ya que es muy explícito y maneja los dos escenarios de creación y actualización (conservando los datos existentes) igualmente bien. Estoy buscando actualizar a Tarantino, pero me gustaría saber si alguien podría sugerir algunas alternativas que debería considerar. Las herramientas como SQL Compare que "automágicamente" produce scripts delta están fuera de cuestión, desafortunadamente, ya que nuestra base de datos está altamente normalizada con más de 500 tablas.

Gracias

Eric Tarasoff

+0

¿Por qué los scripts de cambios no son viables si la tabla está altamente normalizada? Tal vez solo se necesita un generador mejor? En algún nivel TODAS las migraciones de la base de datos necesitan generar/conocer los deltas, ya sea explícita o implícita. –

+0

Me gustaría saber en qué se decidió. Y tengo curiosidad acerca de por qué SQL Compare no sería adecuado. –

+0

Supongo que volver a esta pregunta años después ¿es mejor que nunca? En el momento en que planteé esta pregunta, nos quedamos con VincentVega. Ahora, años después y en otra organización, después de ver algunas de las alternativas disponibles en este momento, elegí RoundHousE. A pesar de ser una solución tipo convención sobre configuración, encontré que es extremadamente flexible para diferentes casos de uso. Más que eso, pasar de cero a subir y correr fue rápido y la documentación no es tan mala. Además, hay suficientes personas que lo usan para buscar ayuda con bastante facilidad. –

Respuesta

2

Hay una herramienta similar por Paul Stovell y amigos llamada DbUp.

Una diferencia notable entre Tarantino y DbUp es que, si bien Tarantino se suele llamar desde un script de construcción (como Nant o msbuild), DbUp tiene clases .NET que se usan dentro de la aplicación. Esto potencialmente permite un mejor manejo de respaldo en caso de que una secuencia de comandos no vaya según lo planeado.

http://code.google.com/p/dbup/

Aquí está el anuncio original de DbUp del blog de Pablo Stovell: http://www.paulstovell.com/dbup

2

yo creo que puede ser de interés para publicar otra respuesta desde Redgate tiene ahora una nueva oferta, ReadyRoll, que satisface su preocupaciones clave

  • "que [comparar SQL] simplemente no pone juntos un guión sincronización correcta"

Sí, herramientas diffing a veces puede conseguir el guión equivocado. A menudo no es que el script no funcione, pero no aplica el cambio de la manera deseada. El enfoque best-of-both-worlds de ReadyRoll utiliza SQL Compare bajo el capó para crear cada script de migración, pero lo más importante es que permite al desarrollador personalizar el script posteriormente.

  • "casa de máquinas y herramientas como que ya operan en un modelo similar a lo que estamos haciendo ahora"

enfoque de ReadyRoll es, al igual que la casa de máquinas, las migraciones basadas, gestionar el proceso de actualización mediante la ejecución de una serie de scripts consecutivos. Esta herramienta fue construida en reconocimiento de que muchos equipos de desarrollo prefieren trabajar de esta manera.

  • "Una última razón para elegir la casa de máquinas: Chuck Norris"

voy a tener que aceptar la derrota en este punto ...

Cuestiones relacionadas