В большинстве наших проектов мы используем SQL Server 2000/2005 и Vault или SVN. Я не нашел достойного решения для захвата изменений схемы базы данных /proc в любой системе управления версиями.
Наше текущее решение довольно громоздко и сложно обеспечить (script из объекта, который вы меняете, и передать его в базу данных).
У нас есть много идей о том, как решить эту проблему с помощью некоторой пользовательской разработки, но я бы предпочел установить существующий инструмент (платные инструменты в порядке).
Итак: как вы отслеживаете изменения кода базы данных? У вас есть рекомендуемые инструменты?
Edit:
Спасибо за все предложения. Из-за ограничений по времени я бы предпочел не сворачивать себя здесь. И большинство предложений имеют недостаток, что они требуют, чтобы разработчик выполнял некоторые процедуры.
Вместо этого идеальное решение будет отслеживать базу данных SQL для изменений и фиксировать любые обнаруженные изменения в SCM. Например, если SQL Server имел надстройку, которая могла бы записывать любое изменение DML с пользователем, внесшим изменение, а затем передать script этого объекта в SCM, я был бы в восторге.
Мы говорили о двух системах: 1. В SQL 2005 используйте разрешения объектов, чтобы запретить вам изменять объект до тех пор, пока вы не выполните "checkout". Затем процедура проверки будет script в SCM. 2. Запустите запланированное задание, чтобы обнаружить любые изменения и зафиксировать их (анонимно) в SCM.
Было бы неплохо, если бы я мог пропустить часть пользовательского действия и автоматически обработать эту систему автоматически.