Для проекта объединения со сторонней организацией мне нужно создать новую базу данных в SQL Server (2014SP2), которая будет включать в себя только основные объекты из нашего текущего и без каких-либо данных, кроме некоторых основных настроек, которые я буду INSERT INTO позже.
Я поддерживаю наши DDL скрипты на GitHub, поэтому каждый день каждый новый скрипт будет сохраняться там, а также на нашем локальном SQL Server с расширением .sql, а затем будет собираться и обрабатываться моя хранимая процедура mySP через наши тестовые базы данных. Когда все будут довольны и все будет проверено, я отправлю сценарий нашим администраторам баз данных для подачи заявки в прямом эфире.
Чтобы ответить на этот новый запрос, я подумал реализовать тот же подход:
- Чтобы все соответствующие сценарии были сохранены на новом SQL Server.
- Запустите хранимую процедуру mySP, которая их заберет
и обработать один за другим: выполнит сценарии, запишет
ошибки (я уже знаю, что будут некоторые, например, внешние ключи на
таблиц, которые могут еще не существовать), пришлите мне письмо со списком
ошибки, а затем мне придется их исправить вручную (например, пересобрать
эти внешние ключи).
Мой вопрос, есть ли лучший подход, пожалуйста?
Пример моего текущего процесса:
Шаг 1 - сохранить скрипт с расширением .sql на SQL Server. пример для такого скрипта ниже
/*********************************************************************/
-- Date |Developer's Name | Version | Description
--27/04/2018| Mr Smith | 12 | Added new column myColumn
-----------------------------------------------------------------------
ALTER TABLE myTable
ADD myColumn BIT DEFAULT 0 NOT NULL;
Шаг 2 - моя хранимая процедура по расписанию будет запускаться каждый час и будет собирать все файлы .sql из предопределенного местоположения и обрабатывать их, отправляя мне электронное письмо. Сценарий здесь: http://www.sqlfiddle.com/#!18/e3309/1
Любой совет будет высоко ценится.