Уже 10 лет я использую DbGhost для реализации управления изменениями sql в большинстве консультативных служб, в которых я принимал участие;неудивительно, что отсутствие управления изменениями SQL у конкурента, обеспечивающего код приложения.
Поддержка Innovartis ' не имеет себе равных в предоставлении помощи при реализации как непрерывного подхода к интеграции, так и поддержки.поддержка базы данных, а также процесс выпуска и пути обновления.Совсем недавно я применил его к проекту Monorail / nHibernate, над которым я работаю, который генерирует сценарии обновления из нашей модели домена POCO, которая определяет нашу базу данных.Они создаются и применяются с помощью нашей сборки CruiseControl при каждой регистрации.
Более конкретно для вашей ситуации вы можете указать DbGhost на версию выпуска (v1.0) вашей базы данных иСценарий вашего источника и статических данных.Это может быть введено в систему контроля версий.Это необязательные шаги, но разумная отправная точка.
DbGhost также может сравнивать (и / или создавать) либо базу данных, созданную из источника, либо текущую базу данных (скажем, v1.1), либопредоставить отчет для сравнения, обновить скрипт или обновить целевую базу данных.
Мы используем его для генерации всех сценариев обновления (откат и откат) для обновления между каждой дельтой.
Через 10 лет, когда я 'Обнаружив проблему с продуктом, сотрудники службы поддержки всегда вежливо указывают либо на ошибку в моем процессе, либо на одну из многих точек расширения в процессе, которые мне нужно использовать, чтобы обойти мою проблему.Это, конечно, обрабатывает сброс столбцов, индексов, данных, абсолютно все.Настройки позволяют автоматически выполнять только простые изменения и могут не срабатывать при предупреждениях или при удалении объектов (столбцов / таблиц), которые можно поддерживать в файлах настроек xml (у нас более симпатичные настройки в нашей сборке разработки и более строгие для живой сборки).
Я бы не стал разрабатывать Sql Server без него, и это коренным образом изменило мою разработку на SQL.
Если вам нужно больше подробностей о рекомендованном процессе или более предписывающих шагах, пожалуйста, сообщите мне.