надеюсь, что все здесь в порядке.
Мы используем VS 2008 как инструмент разработки, TFS 2008 как контроль версий, а также автоматизацию сборки.Некоторые из наших разработчиков используют dbpro для изменений в базах данных, а некоторые используют среду управления SQL Server.
Я пытаюсь автоматизировать сборку для веб-приложения, созданного с использованием C # и VB.Net.Наш сценарий таков, что у нас есть центральная база данных, к которой подключается наше веб-приложение.
Всякий раз, когда мы предоставляем нашим клиентам новую функциональность или исправляем ошибку, мы предоставляем им инкрементные сборки.
Сценарий SQL проверяется в исходном коде для каждой инкрементной сборки, когда они вносят и проверяют изменения на нашем центральном сервере БД.
Я хочу сгенерировать дифференциальный скрипт, который можно запускать на клиенте как инкрементОбновление скрипта. Теперь решить эту проблему - проблема.Иногда наши разработчики, как правило, забывают наборы изменений базы данных, и в скрипте в контроле исходного кода отсутствует SP или два.
Кроме того, иногда нам нужно вставить данные по умолчанию в некоторые из таблиц, которые имеют строгие строгие значения, а не тестовые значения.Подобно таблице, содержащей службы, предоставляемые панелью, мы добавляем новое имя службы, подпись, учетные данные и адрес службы и т. Д. в таблицу ServiceTable .Помимо этого, во многих других таблицах могут быть тестовые данные, которые могут не понадобиться.
Если мы используем DataCompare, он сгенерирует набор изменений для требуемых данных (важно, чтобы клиент включил определенные службы) и наши тестовые данные, которые были добавлены вбазы данных в результате нашего тестирования функциональности или исправления ошибки.
В настоящее время я использую SQLSchemaCompareTask (из API-интерфейса Power Studio Visual Studio 2008 Professional Power Tools) в файле TFSBuild.projопределения сборки для TFS 2008.
Используя SQLSchemaCompareTask, сгенерированный скрипт содержит имена баз данных, такие как [dbo].и т. д., которые не нужны, поскольку сценарий не выполняется при запуске с базами данных SQL Server 2000 (некоторые из наших клиентов по-прежнему используют базы данных SQL Server 2000) в качестве бэкэнда приложения.
Также данные по умолчанию не могут быть сгенерированыэтот процесс.
Чтобы преодолеть эту проблему, мне нужно найти решение, которое может сравнивать базы данных и автоматически генерировать сценарий, который не нужно повторно проверять вручную перед отправкой клиенту.
Пожалуйста, предложите эффективную методологию создания такого сценария SQL и предложите, можно ли использовать две разные базы данных или что-то в этом роде?Есть ли какой-либо инструментарий или API, которые могут включить автоматизацию сборки для баз данных SQL Server?
Спасибо всем.
С уважением
Стив