Führen Sie Migrationen auf Azure für die mit GitHub bereitgestellte dotnet-Core-Site aus

8

Ich habe eine kleine Website mit .Net-Kern, die eine SQLite-Datenbank und Entity-Framework-Kern enthält. Ich verwende VS-Code und auf einem Mac.

Es ist einfach, die Datenbank lokal zu verwalten - dotnet ef database update funktioniert großartig. Das Problem besteht darin, Migrationen bei der Bereitstellung in Azure auszuführen.

Mein Repo befindet sich auf GitHub und ich habe Azure so konfiguriert, dass Code von GitHub abgerufen wird, wenn ich zum Master-Zweig drücke. Die Bereitstellung funktioniert einwandfrei, aber Migrationen werden nicht in Azure ausgeführt.

Ich habe einige Vorschläge gesehen, dass ich yourDbContext.Database.Migrate() in Startup.cs verwenden kann, es scheint jedoch, dass .Migrate() nicht mehr verfügbar ist.

Ich habe versucht, das Bereitstellungsskript von Azure herunterzuladen und es anzupassen, indem ich call :ExecuteCmd dotnet ef database update -e Production zu deploy.cmd hinzufüge, aber das scheint nicht zu funktionieren.

Ich habe versucht, die PS-Shell zu verwenden, auf die ich über die Kudu-Site zugreifen kann, um Migrationen manuell auszuführen. Beim Versuch, dotnet ef database update auszuführen, lautet das Ergebnis jedoch No executable found matching command "dotnet-ef"

Es gibt eine sehr ähnliche Frage hier ( EF Core (1.0.0) Migrationen auf Azure App Services ), aber diese Frage hat keine Antworten erhalten.

    
Dingels35 21.10.2016, 13:21
quelle

1 Antwort

7

Sie können context.Database.Migrate() ausführen, wenn Sie die Datenbank in Ihrem Code initialisieren. Die Migrationen werden ausgeführt, wenn Sie Ihre Anwendung zum ersten Mal starten

    
matthijsb 21.10.2016, 13:33
quelle