Сначала я хотел бы прокомментировать, что вы, кажется, боретесь с намеченной парадигмой в отношении проектов баз данных.
- Если ваш проект развернут где-то [1],
- , тогда должно быть соответствующей веткой / меткой [2] в вашем исходном хранилище.
- Если вы измените один объект [delta] из вышеуказанной базовой линии [2] и создадите новую версию [3],
- , то при развертывании [3] в [1] развертываниескрипт должен найти только одно различие, и общий эффект изменения [delta] - это все, что будет применено.
Итак, в теории нет причин не простосборка и развертывание.
СОВЕТ: Принимая новую парадигму, стоит полностью принять ее;частичное усыновление имеет тенденцию вызывать собственный набор проблем.
Однако, тем не менее, я могу помочь.
У нас есть аналогичная потребность, потому что фактическое развертывание - этовне нашего контроля.Мы контролируем только часть базы данных и должны предоставить свои изменения другой команде для проверки.
Мы должны предоставить индивидуальные «автономные» сценарии для каждого объекта с , если существует..drop впадение и предоставляют разрешение внизу.
Однако мы хотим получить другие преимущества работы с проектом базы данных, а затем просто скопировать отдельные файлы сценариев, когда мы "развернем".
Решение, которое мы нашли, заключалось в том, чтобы поместить дополнительные «биты» в блок комментария следующим образом:
/*SINGLE_OBJECT_DEPLOYMENT
if exists (...)
DROP ...
--*/
--/*SINGLE_OBJECT_DEPLOYMENT
if exists (...)
DROP ...
--*/
Обратите внимание, что простой поиск и замена /*SINGLE_OBJECT_DEPLOYMENT
на --/*SINGLE_OBJECT_DEPLOYMENT
включаетзакомментированный код, чтобы его можно было легко поместить в макрос или другой полуавтоматический процесс.