Usamos SQL Server 2000/2005 y Vault o SVN en la mayoría de nuestros proyectos. No he encontrado una solución decente para capturar cambios de esquema/proc de base de datos en cualquiera de los sistemas de control de origen.¿Cómo rastreas los cambios en la base de datos en el control de código fuente?
Nuestra solución actual es bastante engorrosa y difícil de aplicar (script el objeto que cambia y lo confía a la base de datos).
Tenemos muchas ideas de cómo abordar este problema con algún desarrollo personalizado, pero prefiero instalar una herramienta existente (las herramientas de pago están bien).
Entonces, ¿cómo hace un seguimiento de los cambios en el código de su base de datos? ¿Tienes alguna herramienta recomendada?
Editar:
Gracias por todas las sugerencias. Debido a las limitaciones de tiempo, preferiría no hacer mi propio aquí. Y la mayoría de las sugerencias tienen el inconveniente de que requieren que el desarrollador siga algún procedimiento.
En su lugar, una solución ideal supervisaría la base de datos SQL en busca de cambios y confirmaría cualquier cambio detectado en SCM. Por ejemplo, si SQL Server tuviera un complemento que pudiera registrar cualquier cambio en DML con el usuario que realizó el cambio, entonces, debe enviar el script de ese objeto a SCM, estaría encantado.
Hablamos internamente acerca de dos sistemas: 1. En SQL 2005, use permisos de objeto para restringir la alteración de un objeto hasta que haya realizado una "extracción". Luego, el procedimiento de registro lo guiaría al SCM. 2. Ejecute un trabajo programado para detectar cualquier cambio y enviarlo (anónimamente) a SCM.
Sería bueno si pudiera saltear la parte de acción del usuario y hacer que el sistema maneje todo esto automáticamente.
Me gusta este enfoque, también. –