/// <summary> /// Invokes the specified context. /// </summary> /// <param name="context">The context.</param> /// <param name="migrationsRunner">Migrations runner.</param> public async Task Invoke( HttpContext context, IMigrationsRunner migrationsRunner) { if (CanMigrate()) { SetupCache(); await migrationsRunner.MigrateAsync(); } }
/// <summary> /// Invokes the specified context. /// </summary> /// <param name="context">The context.</param> /// <param name="databaseFactory">Database factory for getting <see cref="IMigrationsRunner"/>.</param> public async Task Invoke(HttpContext context, IDatabaseFactory databaseFactory) { string databaseName = null; if (context.Request.Path.HasValue) { databaseName = context.Request.Path.Value.Trim('/'); } if (string.IsNullOrEmpty(databaseName)) { databaseName = KormBuilder.DefaultConnectionStringName; } IMigrationsRunner migrationsRunner = databaseFactory.GetMigrationsRunner(databaseName); if ((migrationsRunner != null) && CanMigrate(databaseName)) { SetupCache(databaseName); await migrationsRunner.MigrateAsync(); } }