Как применить первые миграции кода базы данных в развернутом приложении Azure? - PullRequest
0 голосов
/ 09 мая 2018

Я только что развернул приложение в службе приложений Azure. Мой проект имеет миграции, которые будут применены. Но я не смог применить их с помощью командной строки приложения Azure

Обновление базы данных dotnet ef

D: \ home \ site \ wwwroot> Не найден исполняемый файл, соответствующий команде "dotnet-ef"

Как я могу применить их удаленно?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Для dotnet-ef я предположил, что вы говорите о Entity Framework Core. Я пытался запустить dotnet ef database update под D:\home\site\wwwroot KUDU и консоли диспетчера пакетов VS, я мог столкнуться с той же проблемой, что вы упомянули.

Я обнаружил похожую проблему Не найден исполняемый файл, соответствующий команде "dotnet-ef" :

Интерфейс командной строки DotNet может разрешать «dotnet-ef» только в том случае, если он находится в каталоге проекта.

Я мог бы запускать команды dotnet ef migrations add, dotnet ef database update через Powershell. Для подробного использования команд вы можете воспользоваться Средства командной строки EF Core .NET .

Как применить первые миграции кода базы данных в развернутом приложении Azure?

В моем понимании, вы не могли этого сделать. Возможно, вам придется вручную запустить update-database, когда vivek nuna ответит в консоли диспетчера пакетов VS, или вы можете использовать Powershell и cd в каталоге вашего проекта и выполнить dotnet ef database update, чтобы применить любые ожидающие миграции для вашего контекста к базе данных, затем разверните свое приложение в веб-приложении Azure.

Кроме того, EF не поддерживает автоматические миграции, вам может потребоваться вручную выполнить Add-Migration или dotnet ef migrations add для добавления файлов миграции. Вы можете явно выполнить команду для применения миграций, также вы можете применить миграции в своем коде. И вы можете добавить следующий код в Configure метод Startup.cs файла:

using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
    scope.ServiceProvider.GetRequiredService<ApplicationDbContext>().Database.Migrate();
}

Более того, вы также можете подписаться на аналогичный выпуск .

0 голосов
/ 09 мая 2018

Один из лучших способов запустить миграцию в Azure - запустить команду update-database в Visual Studio.Но эта команда не будет работать.IP-адрес вашего клиента должен иметь доступ к Azure.

Вы можете выполнить ЗАПУСК МИГРАЦИЙ НА AZURE .Asp.Net Zero построен поверх Asp.Net Core, поэтому эти шаги будут работать для вас.

...