Это сложная задача для решения. Поскольку большинство баз данных, с которыми я работаю, привязаны к конкретному приложению в Visual Studio (YMMV), я обычно делаю это: после начала разработки я создаю сценарий «создания базы данных» только для схемы и помещаю его в виде сценария .sql в некоторых часть проекта моего приложения. Я включаю функцию в SQL Management Studio, которая предлагает мне создавать сценарий изменения каждый раз, когда я изменяю таблицу или хранимую процедуру или что-то еще ... поэтому, когда я что-то изменяю, я сохраняю сценарий изменения и добавляю его в конец моего оригинального сценария создания. Таким образом, любой может получить скрипт SQL и полностью сгенерировать новую копию базы данных, где бы ни находился ствол.
Это примитивно, и ему нужно больше управления, чтобы синхронизировать изменения базы данных с версией приложения, которое ее поразило, но для меня это лучше, чем ничего. Мне было бы интересно услышать, есть ли решения по управлению исходным кодом, которые интегрируются более четко.