Работа с SQLCMD: r в сценарии после развертывания - PullRequest
4 голосов
/ 10 марта 2009

Мы используем проект базы данных Visual Studio для контроля версий схемы нашей базы данных. Мы также хотим записать определенные данные (значения конфигурации и т. Д.) Из базы данных, поэтому мы используем специальную утилиту командной строки для выгрузки данных в сценарии вставки. Один файл представляет данные одной таблицы.

Существует определенный сценарий SQL, называемый сценарием после развертывания, который автоматически запускается после команды Deploy в проекте. Здесь рекомендуется связать другие файлы сценариев, и мы хотели бы связать наши сценарии вставки данных.

Инструкции говорят использовать эту команду для анализа произвольных файлов

SQLCMD :r <filename>

Проблема в том, что я не понимаю, как мои коллеги смогут использовать его при загрузке из системы контроля версий, потому что начальный каталог для команды: r находится там, где devenv.exe (VS dev. Env. ) находится.

Подходим ли мы к проблеме написания сценариев под прямым углом с помощью правильных инструментов? И если это так, то как я могу получить путь к файлу исполняемого сценария после развертывания или как я могу разобрать сценарии вставки без жесткого кодирования их пути в сценарии после развертывания?

1 Ответ

5 голосов
/ 10 марта 2009

Что ж, получается, что достаточно указать относительный путь к файлу скрипта. Я был введен в заблуждение функцией проверки синтаксиса в Visual Studio, которая оценивала путь после: r, используя местоположение devenv.exe в качестве исходного каталога.

Однако, когда Deploy выполняется в проекте, команда: r использует каталог сценария в качестве начального каталога, поэтому местоположение файла можно легко определить с помощью относительного пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...