Передача базы данных сервера sql в систему управления версиями - PullRequest
0 голосов
/ 11 октября 2019

У меня есть две базы данных с именем 'xyz' (например) на двух разных экземплярах сервера sql. Обе базы данных xyz в экземплярах сервера sql имеют несколько общих объектов базы данных, в то время как некоторые из них отличаются в обоих экземплярах.

Я хочу, чтобы в репозитории git azure devops хранилась одна копия базы данных xyz. Эта копия должна включать все объекты из обоих экземпляров сервера sql.

Затем я хочу реализоватьCI / CD с использованием конвейеров Azure Devops с использованием репозитория AzDo Git и развертывание ТОЛЬКО объектов базы данных, специфичных для экземпляра сервера sql, то есть, несмотря на то, что репозиторий AzDo содержит объекты из базы данных 'xyz' из 2 разных экземпляров, база данных xyz находится накаждый из экземпляров сервера sql должен поддерживать свою настроенную версию при запуске сборки.

Я использую проект базы данных SQL в SSDT 2017 для сценариев объектов базы данных.

Я попробовал следующее, чтобы иметь одну копию двух разных версий базы данных.

1) создать решение в ssdt 2017 и создать проект базы данных sql. 2) щелкните правой кнопкой мыши решение и выберите сравнение схем. выберите первый экземпляр сервера sql с базой данных xyz в качестве источника и пустым файлом решения в качестве цели и нажмите «Сравнить». Сравнение показывает, что ни одна из структур не присутствует в файле решения. Нажмите кнопку «Обновить», чтобы обновить файл решения.

3) Затем я сравнил базу данных xyz со второго экземпляра сервера sql в качестве источника и обновленный файл решения в качестве цели. Затем я обновил объекты из второго экземпляра сервера sql в файл решения.

Теперь проект базы данных sql в ssdt содержит объекты из базы данных xyz из обоих экземпляров сервера sql.

ТеперьУ меня есть единственный источник правды в репозитории Git AzDo. Но я не знаю, как использовать это для развертывания соответствующих объектов на соответствующих экземплярах сервера SQL. (PS - я не хочу, чтобы все объекты базы данных XYZ на обоих экземплярах сервера SQL. Каждая база данных на каждом из экземпляранеобходимо сохранить его настроенную версию)

Пожалуйста, дайте мне знать, если что-то неясно. Любая помощь приветствуется.

1 Ответ

1 голос
/ 11 октября 2019

Создайте один проект с общим кодом, затем создайте еще два проекта и поместите пользовательский код в каждый.

Из двух проектов создайте ссылку на «одну и ту же базу данных» на общий код, и при развертыванииразверните проекты с пользовательским кодом, но укажите параметр для включения составных проектов.

...