2012-07-23 2 views
0

Я хотел бы выполнить автоматический запуск с использованием скриптов SQL TortoiseSVN (список уже зарегистрированных файлов уже существует).Автоматизация SQL-скриптов TortoiseSVN

Как я это вижу:

Когда команда Update выполняется выполнить пакетный файл, который выполняет следующие действия: список

  1. ПОЛУЧИТЬ добавленной/измененными * .SQL файлы (возможно, скопировать их в какой-то временный каталог)
  2. выполнять эти файлы с помощью SQLCMD (если файлы были скопированы в отдельный каталог, то это можно сделать с помощью for %f in (c:\MySQLScripts\*.sql) do sqlcmd -i %f)

Т здесь решение для такого потока (любого другого, которое нацелено на одну и ту же цель)?

ответ

0

Несколько лет назад мы попытались сделать то, что вы предлагаете, и обнаружили, что координируемое выполнение сценария, так что все зависимости (например, внешние ключи) были очень сложными, если не невозможными.

Мы решили использовать RedGate SQL Source Control (интегрируется с Subversion, например TortoiseSVN) и SQL Compare для развертывания из исходного элемента управления. Вы должны посмотреть: http://www.red-gate.com/.

Альтернативный подход заключается в использовании функциональности Studio Studio «Сгенерировать скрипты» (щелкните правой кнопкой мыши по базе данных в проводнике объектов, задачах -> Сгенерировать скрипты). Он создаст «мастер-скрипт», содержащий все объекты базы данных. Вы можете управлять этим скриптом и выполнять его с помощью sqlcmd. Я не могу говорить о том, насколько хорошо эта утилита управляет зависимостями, на которые я ссылаюсь выше.

Смежные вопросы