Ich verwende eine SQLite-Datenbank für meine Anwendung. Auf dem Desktop kann ich bei Bedarf Add-Migration
und Update-Database
ausführen.
Jetzt, wo ich die Datenbank und die Features weiterentwickle, während die Site live ist, muss ich Update-Database
auf dem Server ausführen, aber ich weiß nicht, wie ich das machen soll.
Gibt es einen Code, den ich beim Start ausführen kann, um die Datenbank zu aktualisieren?
Aufgrund meines Abonnements habe ich weder Azure Storage noch Zugriff auf die Befehlszeile, also ist diese Option nicht verfügbar.
Sie können DbContext.Database.Migrate()
in Configure
Methode der Startup
Klasse aufrufen. Dadurch wird Ihre SQLite-Datenbank beim Start der Anwendung automatisch migriert, wenn ausstehende Migrationen auftreten.
public void ConfigureServices(IServiceCollection serviceCollection)
{
...
services.AddDbContext<MyDbContext>(options =>
options.UseSqlite(...));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
using(var context = new MyDbContext(...))
{
context.Database.Migrate();
}
...
}