Есть ли командная строка для развертывания проекта базы данных SQL Server? - PullRequest
7 голосов
/ 12 августа 2010

Мы используем шаблон проекта База данных SQL Server с Visual Studio 2010. В рамках нашего интеграционного тестирования я хотел бы сначала запустить новое развертывание базы данных. Но если вручную щелкнуть правой кнопкой мыши по проекту и выбрать «Развернуть», получить новую копию развернутой базы данных будет непросто.

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

Обновление:

Наши интеграционные тесты написаны как модульные тесты в Visual Studio. Таким образом, цель состоит в том, чтобы нажать кнопку Run Tests и развернуть базу данных, а затем запустить тесты против нее.

Ответы [ 3 ]

5 голосов
/ 17 ноября 2010

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

Во второй статье, если вы работаете на 64-битной машине, вы не найдете каталог VSTSDB в разделе Program Files ... вам нужнозагляните в Program Files (x86).

Я следовал инструкциям к письму (установил как 32-битную, так и 64-битную версию SQL CE), и она отлично работает.Я в основном беру выходные данные сборки из моего проекта базы данных SQL Server 2008, архивирую их и помещаю на сервер, затем запускаю сценарий развертывания.

Когда я впервые это сделал, целевая база данных не делала 'не существует.Инструмент создал базу данных и настроил ее красиво.Затем я попытался добавить столбец к таблице в моем проекте.Я перестроил проект, взял выходные данные и развернул их, как и раньше, и он правильно изменил существующую таблицу, точно так же, как если бы щелкнул правой кнопкой мыши и выбрал Deploy.

Кажется, что до сих пор работало хорошо.Надеюсь, это поможет!

5 голосов
/ 12 августа 2010

Для свежего экземпляра базы данных (не для инкрементного обновления базы данных) MSDeploy должен сделать свое дело. Вот быстрый пост, который я нашел на эту тему.Я на самом деле еще не сделал это сам, но коллега говорит, что он работал в его среде.

0 голосов
/ 01 июля 2014

Согласно этой статье MSDN Как: Развертывание изменений в новых или существующих базах данных , вы должны иметь возможность использовать MSBuild для этого:

MSBuild /t:Build;Deploy c:\path-to-my-project\DatabaseProject.dbproj
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...