私は自分のアプリケーションにSQLiteデータベースを使用しています。デスクトップ上では、必要に応じてAdd-Migration
とUpdate-Database
を簡単に実行できます。
これで、サイトが稼動している間にデータベースと機能をさらに開発しました。サーバー上でUpdate-Database
を実行する必要がありますが、その方法はわかりません。
起動時にデータベースを更新するコードを実行できますか?
私のサブスクリプションのために、私はAzure Storageやコマンドラインへのアクセス権を持っていないので、それはオプションです。
Startup
クラスのConfigure
メソッドでDbContext.Database.Migrate()
を呼び出すことができます。保留中の移行がある場合、アプリケーションの起動時に自動的にSQLiteデータベースが移行されます。
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();
}
...
}