Удаление и воссоздание всех представлений базы данных - PullRequest
0 голосов
/ 22 мая 2018

Вопрос

В SSMS я могу использовать «Генерировать сценарии» для представлений, процедур и функций, а затем сохранять каждый как «Отдельный файл на объект».

Как мне сгенерировать правильный порядок выполнения файлов позже, учитывая их зависимости от других представлений?

Предыстория

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

Для представлений (а также процедур и функций) на странице ниже предлагается сохранить по одному на файл.При обновлении все будет удалено, а затем все будет воссоздано.

К сожалению, на странице никогда не упоминаются детали того, как она обрабатывает зависимости между представлениями.

Управление версиями баз данных -Представления, хранимые процедуры и тому подобное

Один файл на объект

Моя стратегия состоит в том, чтобы записывать каждое представление, хранимую процедуру и функцию в отдельный файл., затем передайте файлы в систему контроля версий.Если кому-то нужно добавить новое представление, они записывают представление в файл и передают его в систему контроля версий.Если кому-то нужно изменить представление, они изменяют файл сценария представления и фиксируют снова.Если вам нужно удалить представление из базы данных, удалите файл из системы контроля версий.Это относительно простой рабочий процесс.

Волшебство происходит, когда разработчик, тестировщик или установщик обновляется из системы контроля версий и запускает инструмент, который обновляет их локальную базу данных.Инструмент использует трехэтапный процесс:

  1. Инструмент применяет новые изменения схемы, сравнивая доступные файлы изменений схемы с записями SchemaChangeLog в базе данных.
  2. Инструмент будет УДАЛИТЬ все хранимые процедуры, представления и функции в базе данных.
  3. Инструмент запустит все сценарии, необходимые для добавления представлений, хранимых процедур и функций обратно в базу данных.
...