Запуск обновления базы данных из Team City - PullRequest
19 голосов
/ 26 марта 2012

Я создал новое приложение, используя миграцию базы данных Entity Framework 4.3. Миграции отлично работают с консоли диспетчера пакетов с помощью команды «update-database».

Теперь я хочу запускать миграции баз данных каждый раз, когда приложение создается с помощью Team City, похоже, мне нужно создать сценарий powershell, который будет это делать.

Может кто-нибудь указать мне некоторые инструкции о том, как заставить команды менеджера пакетов запускаться из командной строки или powershell? Все, что я могу найти, это инструкции о том, как сделать это через консоль диспетчера пакетов, которую я не знаю, как запустить с этапа сборки Team City.

Ответы [ 2 ]

19 голосов
/ 28 марта 2012

migrate.exe - это то, что я искал, он находится в "packages \ EntityFramework.4.3.1 \ tools".

Добавьте новый шаг сборки в Team City, используя:

Тип запуска: командная строка

Исполняемый файл команды: пакеты \ EntityFramework.4.3.1 \ tools \ migrate.exe

Параметры команды: MyApplicationName / StartupDirectory: MyApplicationName \ bin

6 голосов
/ 03 января 2013

Установите Nuget Entity Framework в репозиторий и используйте прилагаемый файл migrate.exe в пакетах \ EntityFramework.5.0.0 \ tools \ или эквивалентном.

Затем запустите пакетный скрипт, например:

SET AssemblyName=MyMvc4App
SET StartUpDirectory=MyMvc4App\bin\
SET ConnectionString=Server=tcp:XXXX.database.windows.net,1433;Database=XXXX;User ID=XXXX;Password=XXXX;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True
SET ConnectionStringProvider=System.Data.SqlClient
SET ConfigFilePath=%CD%\MyMvc4App\web.config
SET MigrateExe=packages\EntityFramework.5.0.0\tools\migrate.exe

%MigrateExe% %AssemblyName%.dll /startUpDirectory:%StartUpDirectory% /startUpConfigurationFile:"%ConfigFilePath%" /connectionProviderName:"%ConnectionStringProvider%" /connectionString:"%ConnectionString%" /verbose
pause

Я ответил на аналогичный вопрос , и там я объясняю, почему мне еще не удалось заставить его работать без указания файла web / app.config.

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