Durante los últimos dos meses más o menos, he estado buscando soluciones o prácticas para manejar la administración de versiones dentro de las bases de datos. Estoy buscando lo que la gente ve como el mejor proceso para manejar esto.
Tenemos 3 entornos para nuestras bases de datos:
- Desarrollo
- Prueba de aceptación del usuario (UAT)
- Producción
El problema es que a veces estamos haciendo cambios en varias cosas dentro de nuestra base de datos de desarrollo y llega el momento de implementar, algunas de las características pueden no estar listas para ser lanzadas a UAT.
Recientemente hemos comenzado a usar el control de Red Gate SQL Source para almacenar todas nuestras entidades (con confirmaciones regulares).
Estaba pensando en basarme en los conjuntos de cambios (es decir, todo, desde el conjunto de cambios X y viceversa, ahora se está enviando a UAT), sin embargo, esto significa que las personas solo están verificando su código en el control de origen justo antes de que hagamos una implementación que puede ser confusa ( especialmente porque las personas son olvidadizas). Otro problema con el enfoque del conjunto de cambios es que si hay un error en un procedimiento almacenado que necesita ser corregido, el número del conjunto de cambios terminaría estando fuera del alcance de nuestro conjunto de cambios máximo para la revisión, por lo tanto, si es necesario recrear la base de datos a partir de un conjunto de cambios máximo, estaríamos eliminando el error nuevamente.
¿Alguna sugerencia sobre un proceso?
Gracias