private static async Task ConfigureEventStoreContext(EventStoreContext storeDb) { var storeDbExist = await DbHealthChecker.CheckTableExists <StoredEvent>(storeDb); if (!storeDbExist) { await storeDb.Database.MigrateAsync(); } }
private static async Task ValidateIs4Context(JpDatabaseOptions options, JPProjectAdminUIContext id4AdminUiContext) { var configurationDatabaseExist = await DbHealthChecker.CheckTableExists <Client>(id4AdminUiContext); var operationalDatabaseExist = await DbHealthChecker.CheckTableExists <PersistedGrant>(id4AdminUiContext); var isDatabaseExist = configurationDatabaseExist && operationalDatabaseExist; if (!isDatabaseExist && options.MustThrowExceptionIfDatabaseDontExist) { throw new DatabaseNotFoundException("IdentityServer4 Database doesn't exist. Ensure it was created before.'"); } }
public static async Task EnsureSeedData(IServiceProvider serviceProvider) { await DbMigrationHelpers.CheckDatabases(serviceProvider, new JpDatabaseOptions() { MustThrowExceptionIfDatabaseDontExist = true }); using var scope = serviceProvider.GetRequiredService <IServiceScopeFactory>().CreateScope(); var eventStoreDb = scope.ServiceProvider.GetRequiredService <EventStoreContext>(); var storeDbExist = await DbHealthChecker.CheckTableExists <StoredEvent>(eventStoreDb); if (!storeDbExist) { await eventStoreDb.Database.MigrateAsync(); } }