Есть ли способ, которым я могу выполнить поиск замены перед выполнением сравнения? (файлы .scmp, visual studio) - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть база данных, которую я пытаюсь сохранить в системе управления версиями, используя Visual Studio, проект базы данных. Я использую файл .scmp для синхронизации c из моей производственной базы данных в проекте для регулярных обновлений.

Моя проблема в том, что я использую переменные sql cmd в моей контролируемой версии sql. Например,

SELECT * FROM [$(OtherServer)].[$(VariableOne)].Foo.Bar

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

Однако, когда я запускаю сравнение производства с контролем версий в Visual Studio, я увижу diff, который выглядит следующим образом

SELECT * FROM [ServerOne].[DatabaseOne].Foo.Bar
vs
SELECT * FROM [$(OtherServer)].[$(VariableOne)].Foo.Bar    

Я действительно не очень много знаю о конфигурации файла .scmp. Есть ли параметр, который я могу установить, чтобы разрешить поиск / заменить, чтобы я мог повторно вставить мои переменные sqlcmd, прежде чем сравнение будет сделано? Или, если это не так, является ли он достаточно расширяемым, чтобы разрешить запуск сценариев перед сравнением?

РЕДАКТИРОВАТЬ: после возни с некоторыми решениями, я решил

  • создать пустой проект
  • syn c текущее состояние подталкивания к этому проекту
  • запустите sed над каталогом этого проекта, запустив гигантский поиск / замену
  • syn c проект sed'd для моего первоначального проекта

Это кажется хак и плохо, но я укажу, что у меня это сработало. Оставим вопрос на время, если найдется лучшее решение.

...