Подтвердить что ты не робот

Запуск базы данных обновлений из Team City

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

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

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

4b9b3361

Ответ 1

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

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

Тип бегуна: командная строка

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

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

Ответ 2

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

Затем запустите пакет script следующим образом:

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.