Как создать инкрементные сценарии для обновления схем базы данных с помощью Visual Studio 2010? - PullRequest
4 голосов
/ 05 мая 2011

Я пытаюсь использовать VS 2010 Sql Server Database Project для отслеживания изменений, внесенных в мою базу данных, и для генерации соответствующих сценариев, когда необходимо развернуть изменение из dev в рабочей среде.

Я создал сравнение схемы между моей базой данных dev и схемой проекта, которая отлично работает. Однако я не могу найти способ создания инкрементных сценариев, единственное, что я получаю, это сценарии с операторами CREATE (опция Export to Editor).

Я что-то не так делаю?

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 14 марта 2012

В рамках процесса автоматической сборки мы храним файлы .dbschema для каждой среды в системе контроля версий.Во время сборки мы создаем файл .dbschema на основе проекта базы данных, а затем используем вызов командной строки vsdbcmd, чтобы сгенерировать сценарий изменения между схемой проекта и каждой целевой схемой БД.Если вам нужен конкретный вызов командной строки, дайте мне знать.

0 голосов
/ 17 февраля 2012

В файле .deploymentmanifest есть две настройки:

<DeployToDatabase>False</DeployToDatabase>

и

<DeployToScript>True</DeployToScript>

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

0 голосов
/ 05 мая 2011

Если вы используете «Data Dude» правильно, это сделано для вас и запускается при выборе Deploy.Просто сохраните вашу схему (таблицы, хранимые процедуры, заполните сценарии и т. Д.) Как элемент проекта и измените его, как вам нужно.Процесс сборки и развертывания будет генерировать сценарии.http://msdn.microsoft.com/en-us/library/ff678491.aspx - неплохая отправная точка, если вы хотите получить эти сценарии и сами запустить их для различных стадийных, производственных и т. Д. Баз данных.

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